1. 程式人生 > >資料庫MySQL之如何使用外來鍵約束?

資料庫MySQL之如何使用外來鍵約束?

資料庫MySQL之如何使用外來鍵約束?

文章目錄


1. 外來鍵約束的使用要求:

  1. 父表和子表必須使用相同的儲存引擎,不能使用臨時表
  2. 資料儲存引擎必須為INNODB型別
  3. 外來鍵列和參照列必須具有相似的資料型別。其中數字的長度或者是否有符號位必須相同,字元的長度則可以不同
  4. 外來鍵列和參照列必須建立索引。如果外來鍵列不存在索引的話,MySQL則自動建立索引
    外來鍵列建立在子表中,參照列建立在父表中

2. 測試:

在 MY.ini 檔案中編輯預設的儲存引擎

default-storage-engine=INNODB

顯示建立表的語句

SHOW CREATE TABLE table_name;

查看錶是否有索引

SHOW INDEXS FROM table_name;

以網格查看錶是否有索引

SHOW INDEXS FROM table_name\G;

Eg:

CREATE TABLE table_name1(
  id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(20) NOT NULL
)

CREATE TABLE table_name2(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES table_name1(id) /* 外來鍵 pid 參照 table_name1中的 id 欄位 */