通過以下步驟在 mysql 中建立外鍵:1. alter table [子表名] add constraint [外鍵名稱] foreign key ([子表外鍵列名]) references [父表名] ([父表主鍵列名]);2. 這樣做可以強制子表中的外鍵值與父表中的主鍵值一致,并支持 restrict、cascade、set null 等約束類型。
如何在 MySQL 中建立外鍵
外鍵是一種關系數據庫中用來建立表之間關聯的約束。在 MySQL 中,可以通過以下步驟建立外鍵:
1. 創建外鍵
ALTER TABLE [子表名] ADD CONSTRAINT [外鍵名稱] FOREIGN KEY ([子表外鍵列名]) REFERENCES [父表名] ([父表主鍵列名])
登錄后復制
2. 參數說明
[子表名]:指定要創建外鍵的子表。
[外鍵名稱]:指定外鍵的名稱。
[子表外鍵列名]:指定子表中引用父表主鍵的列。
[父表名]:指定外鍵引用的父表。
[父表主鍵列名]:指定父表中被引用的主鍵列。
3. 示例
考慮以下兩個表:
訂單表 (orders):包含訂單信息
產品表 (products):包含產品信息
要在 orders 表中建立引用 products 表 product_id 列的外鍵,可以使用以下語句:
ALTER TABLE orders ADD CONSTRAINT FK_product FOREIGN KEY (product_id) REFERENCES products (product_id)
登錄后復制
4. 作用
外鍵建立后,將強制子表中的外鍵列值與父表中的主鍵列值保持一致。這意味著:
子表記錄的外鍵值必須存在于父表的主鍵值中。
如果父表中的主鍵值被刪除或修改,則相應的子表記錄也會被刪除或修改(取決于外鍵約束的類型)。
5. 約束類型
MySQL 支持以下外鍵約束類型:
RESTRICT:不允許刪除或修改父表中的主鍵值,否則會導致違反外鍵約束。
CASCADE:當父表中的主鍵值被刪除或修改時,自動刪除或修改子表中的外鍵值。
SET NULL:當父表中的主鍵值被刪除或修改時,將子表中的外鍵值設置為 NULL。