2014-06-22 69 views
0

這是一個有趣的問題,當我明確地插入一個空值到數據庫中的列smuId:如您所願當是一個空不空,當它在上下文

INSERT [tblTyreHistory] 
(
    [changetype], [datechanged], [fitterid],[isfitted], 
    [position], [reason],[MachineId], [rimid], [tyreid], [userid], [smuId] 
) 
    VALUES (1,'2014-05-19 00:00:00',86,1,1,NULL,95,NULL,5699,86,NULL) 

插入工作。但是,如果我從插入離開了列smuId我得到一個外鍵約束:

INSERT [tblTyreHistory] 
(
    [changetype], [datechanged], [fitterid],[isfitted], 
    [position], [reason],[MachineId], [rimid], [tyreid], [userid] 
) 
    VALUES (1,'2014-05-19 00:00:00',86,1,1,NULL,95,NULL,5699,86) 

這是造成問題的原因:

INSERT語句衝突與外鍵約束「FK_tblTyreHistory_tblSmu」 。衝突發生在數據庫「myDB」,表「dbo.tblSmutable」,列'id'中。

有沒有人有任何想法?

+3

'smuId'的默認值可能不是'NULL'。 –

回答

4

可能是否爲列smuId指定的默認值不在tblSmutable中?這會導致smuId被填充爲默認值而不是NULL,並會導致錯誤。

相關問題