关于MySQL外键
前提条件:创建数据表使用InnoDB存储引擎,字段类型一致性,起初数据逻辑正确。
例如:ALTER TABLE `post`
ADD CONSTRAINT `FK_post_author` FOREIGN KEY (`author_id`) REFERENCES `adminuser` (`id`) ON DELETE CASCADE;
1 . cascade方式
在父表上update/delete记录时,同步update/delete掉子表的匹配记录
2. set null方式
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not null
3. No action方式
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作
4. Restrict方式
同no action, 都是立即检查外键约束
5. Set default方式
父表有变更时,子表将外键列设置成一个默认的值 但Innodb不能识别