数据库中删除表中主键约束时出现错误的原因及解决方法

数据库中删除表中主键约束时出现错误的原因及解决方法

#问题描述:
今天在对MYSQL数据库进行基本操作——删除表中的主键约束时发现不能删除表中的主键约束:
在这里插入图片描述
下面是三张表之间的关系:
数据库中删除表中主键约束时出现错误的原因及解决方法_第1张图片
数据库中删除表中主键约束时出现错误的原因及解决方法_第2张图片
数据库中删除表中主键约束时出现错误的原因及解决方法_第3张图片

原因

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

你可能感兴趣的:(数据库中删除表中主键约束时出现错误的原因及解决方法)