重拾mysql,记点新知识
1、关于外键约束,项目中一直少用外键约束,是怕删除的时候删除不掉,原来是可以设置的,关于外键约束有四种更新行为
NO ACTION:当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许更新、删除。(与RESTRICT一致)
RESTRICT:当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许更新、删除。(与NO ACTION一致)
CASCADE (级联):当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则也删除/更新外键在子表中的记录。
SET NULL:当在父表中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(需要要求该外键值允许为null)
SET DEFAULT:父表有变更时,子表将外键列设置成一个默认的值(innoDB不支持)
ALTER TABLE表名ADD CONSTRAINT外键名称FOREIGN KEY (外键字段) REFERENCES 主表名(主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;
SQL语句如下
SQLyog中可以在外部键这里设置
标签:删除,记录,杂谈,外键,父表中,更新,MySQL,对应 From: https://www.cnblogs.com/tyleaf/p/17011580.html