2011-09-19 156 views
0

我有兩個表table1和table2。我在table1中有記錄。我想將記錄插入到table2中。但它會出現以下異常。SQL約束插入失敗

Msg 547, Level 16, State 0, Line 2 
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Table2_<Column3>". The conflict occurred in database "<databaseName>", table "table1", column 'Id'. 

表2上的約束是這樣的。

ALTER TABLE [dbo].[table2] ADD CONSTRAINT [DF__table2__name__0B91BA14] DEFAULT ((0)) FOR [column4] 
+3

顯示錶格架構和您試圖插入的數據 – Andrey

回答

1

異常消息是它告訴你約束是造成這個問題。它違背了Column3(至少這就是名字所暗示的),並且是對table1的外鍵約束。

您沒有顯示任何示例SQL,但它會顯示您正在嘗試將數據插入到表2中爲table3指定的外鍵值不存在的表2中。

2

錯誤顯示,你也有外鍵約束,你試圖將行插入子表不具有相應的記錄在主

0

您的評論對我有幫助。

我已經使用此查詢從舊數據庫插入數據到新數據庫。

INSERT INTO Database.[dbo].[Table2] ([colmn1] 
     ,[colmn2] 
     ,[colmn3] 
     ,[columns4] 
    ) 
SELECT [colmn1] 
     ,[colmn2] 
     ,[colmn3] 
     ,[columns4] 
    FROM [OtherDatabase].[dbo].[Table2] 

但是,在表1上的外鍵colum3上有一個constarint。

我已經將table1的colmn3更改爲與其他數據庫Guid相同的Guid,並且它可以工作。

謝謝全部