我创建了表Employee
Create table Employee ( FName varchar(20) Not Null,LName varchar(20) Not Null,SSN int Not Null,BDate Datetime,Address varchar(50),Sex char(1),Salary money,Super_SSN int,Primary Key(SSN),Foreign Key(Super_SSN) references Employee(SSN) )
当我尝试插入第一行时,
insert into Employee(FName,LName,SSN,BDate,Address,Sex,Salary,Super_SSN) values('John','Smith',12345,'1965-01-09','Houston,TX','M',30000,33344)
我收到的错误就像..
错误:
The INSERT statement conflicted with the FOREIGN KEY SAME TABLE constraint “FK_Employee_Employee”. The conflict occurred in database “Company”,table “dbo.Employee”,column ‘SSN’.
解决方法
您需要首先对SSN’33344’进行INSERT记录,并将Super_SSN值设置为NULL.
INSERT INTO Employee(FName,Super_SSN) VALUES (<FName>,<LName>,'33344',<BDate>,<Address>,<Sex>,<Salary>,NULL)
插入之后
INSERT INTO Employee (FName,Super_SSN) VALUES ('John',33344)
如果SSN’33344’具有任何Super_SSN,则更新SSN值(该记录应在表中可用).
原文地址:https://www.jb51.cc/mssql/76451.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。