首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决Msg 547,16级,状态0,第1行的错误

如何解决Msg 547,16级,状态0,第1行的错误
EN

Database Administration用户
提问于 2014-04-02 11:42:43
回答 1查看 62.3K关注 0票数 6

请建议我如何解决错误,如何解决错误

Msg 547,级别16,状态0,第1行 ALTER语句与外键约束"MyForeignKeyName“冲突。冲突发生在数据库"MyDatabase“、表"dbo.MyTable”、列“IMyColumn”中。

EN

回答 1

Database Administration用户

发布于 2014-04-03 11:05:01

如果您试图制作外键,而您的子表已经有一些与父表不匹配的数据,则会收到此错误消息。

例如,

代码语言:javascript
运行
复制
CREATE TABLE MyParent(Job_id int PRIMARY KEY,Job_Name Varchar(50));

INSERT INTO MyParent Values(1,'CEO');
INSERT INTO MyParent Values(2,'Business Manager');
INSERT INTO MyParent Values(3,'DBA');

CREATE TABLE MyChild(Emp_id int,Emp_Name Varchar(50),Job_Id int)

INSERT INTO MyChild Values(1,'Lavanya',1);
INSERT INTO MyChild Values(1,'JP Chauhan',3);
INSERT INTO MyChild Values(1,'Rakesh',5);

请参阅在MyChild表中有值的Job_Id表的最后一条记录为5,这不是MyParent表中的记录。

如果您试图建立外键关系,如:

代码语言:javascript
运行
复制
ALTER TABLE MyChild
ADD CONSTRAINT fk_My_foreignKey FOREIGN KEY(Job_Id)REFERENCES MyParent(Job_Id);

您将得到的错误消息:

Msg 547,级别16,状态0,第1行ALTER语句与外键约束"fk_My_foreignKey“冲突。冲突发生在数据库"mydatabase“、表"dbo.MyParent”、列“作业_id”中。

票数 10
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/62325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档