• 欢迎来到我的博客
  • [email protected]

Mysql 外键

学习笔记 tianlan 1年前 (2020-04-11) 493次浏览 0个评论 扫描二维码
文章目录[隐藏]

引入

外键表示一个表中的字段被另一个表中的一个字段引用。外键对相关表中的数据造成了限制,使MySQL能够保持参照完整性。

比如学生和班级表,学生表完全依赖班级表,我们可以通过外键约束让学生表与班级表产生关联,当班级表数据变化时影响学生表。

  • 父表和子表储存引擎要一致
  • 使用InnoDB引擎支持外键约束
  • 外键更与主表列类型一致
  • 外键列使用索引(数据库会自动添加索引)

注意:很多项目不使用外键。

处理动作

ON DELETE

选项

说明

ON DELETE CASCADE

删除父表记录时,子表记录同时删除

ON DELETE SET NULL

删除父表记录时,子表记录设置为NULL(子表字段要允许NULL)

ON DELETE NO ACTION

删除父表记录时,子表不做任何处理

ON DELETE RESTRICT

必须把子表处理完才可以删除主表

 

ON UPDATE

选项

说明

ON UPDATE CASCADE

更新父表记录时,比如更改主表的主键时,子表记录同时更新

ON UPDATE SET NULL

更新父表记录时,比如更改主表的主键时,子表记录设置为NULL

ON UPDATE NO ACTION

更新父表记录时,子表不做任何处理

ON UPDATE RESTRICT

必须把子表处理完才可以更新主表

SQL

Mysql 外键

Mysql 外键


天蓝, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mysql 外键
喜欢 (0)
[[email protected]]
分享 (0)

您必须 登录 才能发表评论!