Mysql中有目前只有InnoDB引擎支持外键约束,InnoDB中外键约束定义的语法如下:
ALTER TABLE tbl_name
ADD [CONSTRAINT [symbol]] FOREIGN KEY
[index_NAME] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
CASCADE:
在父表上update/delete记录时,同时update/delete子表中匹配的记录
SET NULL:
在父表上update/delete记录时,将子表中匹配的记录所在的列设为null【注意子表中对应的外键列不能设置为 NOT NULL】
NO ACTION:
拒绝更新或者删除或者删除父表
RESTRICT:
拒绝更新或者删除父表
注:指定RESTRICT或者NOACTION和忽略ON DELETE、ON UPDATE的效果是一样的
本文详细解析了Mysql中InnoDB引擎对外键约束的支持,包括定义语法、不同选项如CASCADE、SETNULL、NOACTION、RESTRICT的作用及注意事项。
3172

被折叠的 条评论
为什么被折叠?



