MySQL—表的完整性约束(外键约束)(二)
生活随笔
收集整理的这篇文章主要介绍了
MySQL—表的完整性约束(外键约束)(二)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1、班级表
2、学生表
例1:删除班级5:如果直接删除的话肯定不行,因为有外键约束
1451 - Cannot delete or update a parent row: a foreign key constraint fails (mytestdb.t_student, CONSTRAINT fk_stu_classno FOREIGN KEY (classno) REFERENCES t_class (cno))
– 加入外键策略:
– 策略1:no action 不允许操作
– 先把班级2对应的学生表中的班级改为null
– 策略2:cascade 级联操作:操作主表的时候影响从表的外键信息:
– 先删除之前的外键约束:
– 重新添加外键约束
删除外键之后
-- 试试更新: update t_class set cno = 5 where cno = 3; -- 试试删除: delete from t_class where cno = 5;– 策略3:set null 置空操作:
– 先删除之前的外键约束:
– 重新添加外键约束:
更新成功
– 2.应用场合:
– (1)朋友圈删除,点赞。留言都删除 – 级联操作
– (2)解散班级,对应的学生 置为班级为null就可以了,-- set null
总结
以上是生活随笔为你收集整理的MySQL—表的完整性约束(外键约束)(二)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: MySQL—数据库表的完整性约束(非外键
- 下一篇: MySQL—函数的使用