1 回答

TA貢獻1875條經驗 獲得超3個贊
1、只有InnoDB類型的表才可以使用外鍵。mysql默認是MyISAM,這種類型不支持外鍵約束
2、外鍵的好處:可以使得兩張表關聯,保證數據的一致性和實現一些級聯操作。
3、外鍵的作用:
保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值。
4、建立外鍵的前提:
兩個表必須是InnoDB表類型。
使用在外鍵關系的域必須為索引型(Index)。
使用在外鍵關系的域必須與數據類型相似。
5、創建的步驟
指定主鍵關鍵字: foreign key(列名)。
引用外鍵關鍵字: references <外鍵表名>(外鍵列名)。
6、事件觸發限制:on delete和on update , 可設參數cascade(跟隨外鍵改動)。
restrict(限制外表中的外鍵改動),set
Null(設空值),set Default(設默認值)。
[默認]no action
7、舉例
outTable表 主鍵 id 類型 int
創建含有外鍵的表:
代碼如下:
create table temp(
id int,
name
char(20),
foreign key(id) references outTable(id) on delete cascade on update
cascade);
說明:把id列 設為外鍵 參照外表outTable的id列 當外鍵的值刪除 本表中對應的列篩除 當外鍵的值改變 本表中對應的列值改變。
代碼如下:
create table temp( id int, name char(20),
foreign key(id) references outTable(id) on delete cascade on update
cascade);
添加回答
舉報