使用外來鍵建立表
CREATE TABLE Account (
AccountID INT UNSIGNED NOT NULL,
AccountNo INT UNSIGNED NOT NULL,
PersonID INT UNSIGNED,
PRIMARY KEY (AccountID),
FOREIGN KEY (PersonID) REFERENCES Person (PersonID)
) ENGINE=InnoDB;
外來鍵: 外來鍵(FK
)是引用表中的單列或列的多列組合。該 FK
被確認存在於引用的表中。強烈建議引用的表鍵確認 FK
為主鍵,但不強制執行。它被用作快速查詢引用的地方,它不需要是唯一的,實際上它可以是最左邊的索引。
外來鍵關係涉及儲存中心資料值的父表,以及具有指向其父級的相同值的子表。FOREIGN KEY 子句在子表中指定。父表和子表必須使用相同的儲存引擎。它們不能是 TEMPORARY 表。
外來鍵和引用鍵中的相應列必須具有相似的資料型別。整數型別的大小和符號必須相同。字串型別的長度不必相同。對於非二進位制(字元)字串列,字符集和排序規則必須相同。
注意: InnoDB 儲存引擎(不是 MyISAM 或 MEMORY)支援外來鍵約束。使用其他引擎的資料庫設定將接受此 CREATE TABLE
語句,但不會考慮外來鍵約束。 (雖然較新的 MySQL 版本預設為 InnoDB
,但明確的做法是好的。)