我厌倦了删除insert stmt试图在相依表中插入的值的出现。
delete from BSC_UR_RE_AN
where AN_ID in (1084,1083,1088,1087,1121,1122,1123,1094,5010,
1239,1242,70187,7001,7002,1284,1285)但没有运气,我犯了以下错误:
INSERT语句与外键约束"BSC_U_RA_AN_FK“冲突。冲突发生在数据库"DMDB“、表"dbo.BSC_AN”、列'AN_ID‘中。
发布于 2013-12-02 08:52:46
该错误意味着您试图作为外键插入的ANAG_ID值在相关表中不存在。所以,你不应该删除它,如果它丢失了,你应该插入它。
编辑:您应该对您的表设计有一个清晰的视图,检查要插入的表的约束。
例如,外键约束通常引用另一个表的主键。
您看到的错误是因为您试图插入一个无效的值(例如。在主表中不存在)。
举个例子:
CREATE TABLE MasterTable (
ID int NOT NULL PRIMARY KEY,
Name varchar(50)
)
CREATE TABLE MasterTableValues (
IDMasterTable INT REFERENCES MasterTable(ID), --FOREIGN KEY
Value varchar(50)
)让我们假设您在MasterTable中拥有这些数据:
1 FirstDate
2 SecondData
3 ThirdData
5 FifthData现在,您可以在MasterTableValues中插入这些值:
1 SomeValue
1 SomeOtherValue
3 SomeValue但无法插入此值:
4 SomeValue因为MasterTable中不存在键ID =4
https://stackoverflow.com/questions/20324131
复制相似问题