Mysql外键约束

做~自己de王妃 提交于 2019-11-27 18:47:43

Mysql中的外键只有innodb存储引擎类型的表支持。

外键的作用是数据库表与表之前通过外键分为主从表,当主表的数据发生变化外键对应的从表也相应的改变,来保证数据的完整性和一致性。

外键的使用会对数据库服务器的性能有影响,要根据开发的场景来选择外键约束。

外键的添加:

ALTER TABLEtbl_name
    ADD[CONSTRAINT 外键名] FOREIGN KEY [id] (index_col_name, ...)
    REFERENCES tbl_name (index_col_name, ...)
    [ON DELETE{CASCADE | SET NULL | NO ACTION | RESTRICT}]
    [ON UPDATE{CASCADE | SET NULL | NO ACTION | RESTRICT}]

on delete,update时对应的4中约束类型

cascade:从表的字段值会被更新或者列被删除

setnull:主表的外键关联字段更新或删除时从表的外键列设置为null

noaction:外键约束时不进行任何操作

restrict:外键约束时不进行任何操作






易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!