数据库中删除表中主键约束时出现错误的原因及解决方法
#问题描述:
今天在对MYSQL数据库进行基本操作——删除表中的主键约束时发现不能删除表中的主键约束:
下面是三张表之间的关系:
原因
个人理解外键约束是表与表之间的“联系”,sc表中的外键约束添加时参考了 student表的sno和course表中的cno,而(sno,cno)又是sc表的主键约束。这种情况下删除主键约束就会导致前面所说的错误。所以要先删除sc中的外键约束,才能再删除主键约束。
再次验证一下:
这次只将sno设为主键约束
把cno设置为外键约束
再次删除主键约束,发现成功删除:
本人数据库小白,若有什么说得不对的地方,希望大家指出来交流学习。