mysql外鍵用于連接兩個表,確保子表中的值在父表中存在。創建外鍵需要使用alter table語句,指定外鍵列和父表的主鍵列。外鍵的作用包括維護數據完整性、級聯更新和刪除、規范化數據。外鍵約束包括參照完整性、級聯更新和級聯刪除。外鍵關系可以是一對一、一對多或多對多。
什么是 MySQL 外鍵?
MySQL 外鍵是一種數據庫關系,它在兩個表之間創建了邏輯連接,以確保數據的完整性。它指定一個表中的列與另一個表中的主鍵列相對應。
如何使用外鍵?
要創建外鍵,請使用以下語法:
ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (primary_key_column);
登錄后復制
其中:
child_table 是包含外鍵的表。
foreign_key_column 是 child_table 中的外鍵列。
parent_table 是外鍵所引用的表。
primary_key_column 是 parent_table 中的主鍵列。
外鍵的作用
外鍵的主要作用是:
維護數據完整性:它防止向 child_table 中插入或更新不屬于 parent_table 中任何行的值。
級聯更新和刪除:當對 parent_table 中的主鍵列進行更新或刪除操作時,外鍵可以自動更新或刪除 child_table 中相應的外鍵值。
數據規范化:外鍵有助于將數據分解成更小的、更容易管理的表,同時保持數據一致性。
外鍵約束
外鍵創建后,它會自動實施以下約束:
參照完整性:child_table 中的外鍵值必須在 parent_table 中的主鍵值列表中。
級聯更新:如果 parent_table 中的主鍵值被更新,child_table 中相應的外鍵值也會被更新。
級聯刪除:如果 parent_table 中的主鍵值被刪除,child_table 中相應的外鍵值也會被刪除。
注意:
外鍵只能引用主鍵或唯一索引列。
外鍵可以為 NULL,以允許 child_table 中存在不屬于任何 parent_table 行的值。
外鍵關系可以是一對一、一對多或多對多。






