用Navicat for mysql创建表,在设置外键的时候,删除时和更新时两列有四个值可以选择:CASCADE、NO ACTION、RESTRICT、SET NULL
CASCADE、NO ACTION、RESTRICT、SET NULL区别如下:
- CASCADE:父表delete、update的时候,子表会delete、update掉关联记录;
- SET NULL:父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null;
- RESTRICT:如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录;
- NO ACTION:同 RESTRICT,也是首先先检查外键;
本文详细解析了使用Navicat for MySQL创建表时,设置外键的四种选项:CASCADE、SETNULL、RESTRICT和NOACTION的区别及应用场景。CASCADE用于同步删除或更新父表和子表的相关记录;SETNULL则在父表操作时将子表的外键字段设为NULL;RESTRICT和NOACTION阻止在子表存在关联记录时对父表进行删除或更新。
4805

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



