【数据库】ALTER TABLE 语句与 FOREIGN KEY 约束““冲突。该冲突发生于数据库““,表““, column ‘‘。

【数据库】ALTER TABLE 语句与 FOREIGN KEY 约束““冲突。该冲突发生于数据库““,表““, column ‘‘。一、问题当我在一张Student表中增加它的classNo外键,外键参照Class表。ALTERTABLEStudentADDFOREIGNKEY(classNo)REFERENCESClass语法没错,但是运行出现报错。如图:消息547,级别16,状态0,第18行ALTERTABLE语句与FOREIGNKEY约束”FK__Student__cla…

摘要:微信搜索【三桥君
本篇讲述的是在已经创建好表且有数据的情况下,增加 FOREIGN KEY 约束的报错问题


一、问题

当我在一张Student表中增加它的classNo外键,外键参照Class表。

ALTER TABLE Student ADD FOREIGN KEY(classNo) REFERENCES Class

语法没错,但是运行出现报错。如图:
在这里插入图片描述

消息 547,级别 16,状态 0,第 18 行
ALTER TABLE 语句与 FOREIGN KEY 约束”FK__Student__classNo__20C1E124″冲突。该冲突发生于数据库”ScoreDB”,表”dbo.Class”, column ‘classNo’。

二、分析原因

正常情况下,我们创建好数据表,然后用该语法定义增加主键、外键都是没问题的。
但是经本人研究发现,当数据表中有数据时,增加外键会出现该问题。
因为该Student表中是有数据的,所以增加不了外键。

三、解决办法

方法一

sql语句方式:
把相关数据表的数据删除掉,再执行该语句。
如果删除表数据还是有问题,建议重建数据库,先建立好关系,再导入数据试试。

方法二

可视化向导方式:
把“在创建或重新启动时检查现有数据”改为否。

  1. 找到Student表,右击键,点击“新建外键”
    在这里插入图片描述
  2. 左上角自动有一个外键,然后点击图中位置的省略号图标
    在这里插入图片描述
  3. 根据实际情况给它添加外键关系,图中框线3个部分是可以选取的,定义完关系后点击确定
    在这里插入图片描述
  4. 把“在创建或重新启动时检查现有数据”改为否!!!
    注意:
    如果数据表中都没有数据,可以默认为是。但是数据表中都有数据才创建外键,就要把这里改为否,才能创建成功。
    在这里插入图片描述
  5. 最后关闭这个页面,会出现是否保存数据,依次点是就行了。
    在这里插入图片描述
    在这里插入图片描述

文章整理不易,如有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包。后续持续更新~~~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37455.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注