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—函数的使用