mysql基础之外键约束
编辑
919
2019-06-15
外键约束
外键约束
- 只有InnoDB引擎的数据库才支持外键
创建外键
-
建表时指定外键
[CONSTRAINT 外键名称] FOREIGN KEY (字段名称) REFERENCES 主表(字段名称)
* 子表的外键字段和主表的字段类型要相似,如果是数值类型要求一致,无符号也要一致,如果是字符型,要求类型一致,长度可以不同
-
如果外键的字段没有创建索引,MySql会自动帮我们添加索引
-
子表的外键关联必须是父表的主键;
-
外键约束的参照操作
CASCADE
从父表删除或者更新,子表也跟着删除或者更新,级联的操作;
SET NULL
从父表删除或者更新记录,并设置子表外键列为null;NO ACTION | RESTRICT
拒绝对父表做更新或者删除操作;
-
-
动态添加外键
ALTER TABLE tb_name ADD FOREIGN KEY(外键字段) REFERENCES 主表(主键字段)
注意:动态添加外键之前,表中的数据必须是合法的,没有脏值,否则外键无法正常添加
- 动态删除外键
ALTER TABLE tb_name DROP FOREIGN KEY fk_name
注意:对于有外键关联的表在进行删除或者更新的时候,需要注意表与表之间的关系,不可以随意进行更新删除
- 0
- 0
-
分享