Mysql外來鍵約束

2021-07-25 23:18:58 字數 535 閱讀 9319

mysql中的外來鍵只有innodb儲存引擎型別的表支援。

外來鍵的作用是資料庫表與表之前通過外來鍵分為主從表,當主表的資料發生變化外來鍵對應的從表也相應的改變,來保證資料的完整性和一致性。

外來鍵的使用會對資料庫伺服器的效能有影響,要根據開發的場景來選擇外來鍵約束。

外來鍵的新增:

alter tabletbl_name

add[constraint 外鍵名] foreign key [id] (index_col_name, ...)

references tbl_name (index_col_name, ...)

[on delete]

[on update]

on delete,update時對應的4中約束型別

cascade:從表的字段值會被更新或者列被刪除

setnull:主表的外來鍵關聯字段更新或刪除時從表的外來鍵列設定為null

noaction:外來鍵約束時不進行任何操作

restrict:外來鍵約束時不進行任何操作

mysql約束與外來鍵 MySQL 外來鍵與約束

外來鍵的建立 建表如下 create table parent id int not null,primary key id type innodb create table child id int,parent id int,foreign key parent id references pa...

MySQL 外來鍵約束

建立測試主表.id 是主鍵.create table test main id int,value varchar 10 primary key id 建立測試子表.create table test sub id int,main id int,value varchar 10 primary k...

MySQL外來鍵約束

innodb型別表有乙個其他儲存引擎不支援的特性 外來鍵約束。當b表的外來鍵關聯到a表的主鍵時 表b是父表a表的子表 如果刪除了a表,那麼b中的外來鍵則仍然關聯著乙個不存在的表的主鍵。而外鍵約束則設定了當約束被破壞時應該應用的的規則,包括防止約束破壞。建立乙個外來鍵約束的語法是 foreign ke...