sql(七)外键

1.语法

ALTER TABLE tb1
ADD FOREIGN KEY (col1)
REFERENCES tb2(col2)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]

把tb1表中col1列设定为外键,并与tb2表中col2列做关联。

ON DELETE、ON UPDATE表示事件在删除时和更新时触发限制,可设参数:

含义 备注
restrict 当在父表(即外键的来源表)中删除/更新记录时,会检查该记录是否有对应的外键,如果有则不允许删除/更新 默认值
no action 与restrict含义一致
cascade 当在父表(即外键的来源表)中删除/更新记录时,会检查该记录是否有对应的外键,如果有则也删除/更新外键在子表(即包含外键的表)中的记录
set null 当在父表(即外键的来源表)中删除/更新记录时,会检查该记录是否有对应的外键,如果有则该外键值设为null
原文地址:https://www.cnblogs.com/xl717/p/13530650.html