在 MySQL 中,一個表可以有多個外鍵約束。外鍵約束是一種用于維護表之間關(guān)系的規(guī)則。它使用外鍵來限制插入、更新和刪除操作,保證表之間的引用完整性。下面我們將介紹如何建立多個外鍵約束。
CREATE TABLE Parent ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL ); CREATE TABLE Child1 ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, parent_id INT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Parent(id) ); CREATE TABLE Child2 ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, parent_id INT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Parent(id) );
上面的代碼演示了如何在兩個子表 Child1 和 Child2 中建立對父表 Parent 的外鍵約束。這些約束限制了插入、更新和刪除操作,使其無法破壞表之間的關(guān)系。如果嘗試插入一個不在父表中的父 ID,MySQL 將會產(chǎn)生錯誤。
如果您需要在同一個表中建立多個外鍵約束,可以像下面這樣做:
CREATE TABLE Table1 ( id INT NOT NULL PRIMARY KEY, table2_id INT NOT NULL, table3_id INT NOT NULL, FOREIGN KEY (table2_id) REFERENCES Table2(id), FOREIGN KEY (table3_id) REFERENCES Table3(id) );
在上面的代碼中,我們在同一個表中建立了兩個外鍵約束。這使得在表中添加記錄時可以同時維護兩個表之間的相關(guān)性。
總之,MySQL 支持建立多個外鍵約束,這一功能非常實用。您可以隨意修改代碼以滿足自己的需求,如果需要了解更多,還可以查看 MySQL 官方文檔。