使用外來鍵建立表

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,但明確的做法是好的。)