2016-02-11 108 views
0

我正在使用SQL Server。我有不同的數據庫,我試圖將一個數據庫表列值的值插入到其他數據庫表列中,並且還有更多的列不是空值,也沒有數據插入到這些列中,同時這樣做,我越來越錯誤,在SQL Server中插入2個DB表

INSERT INTO dbo.DocComponent(MIMETYPE) 
    SELECT MIMETYPE 
    FROM Test67.dbo.PO_MIMETYPE; 

錯誤:

Cannot insert the value NULL into column 'ID', table 'FullTextDB.dbo.DOCCOMPONENT'; column does not allow nulls. INSERT fails.

可能有人有這種解決方案?

+0

嗯,錯誤似乎很清晰 - 您的表DocComponent中有一個ID列,它被設置爲NOT NULL,並且顯然沒有默認值(或IDENTITY規範),因此你必須爲你的'INSERT'中的'ID'列提供一個**值....使用'INSERT INTO dbo.DocComponent(ID,MimeType)SELECT xxxx,Mimetype FROM ..... ' –

+0

還有一個問題DocComponent的ID不屬於ID po_MIMETYPE表都是不同的.. –

+0

無論 - 你只是**必須**爲ID提供一個值! –

回答

0

明確推斷您的ID列不是IDENTITY列,也是主鍵列,因此不允許使用NULL。您也將爲ID列提供一些價值。

INSERT INTO dbo.DocComponent(ID, MIMETYPE) 
    SELECT 1, MIMETYPE 
    FROM Test67.dbo.PO_MIMETYPE; 

你最好讓你的表列IDIDENTITY列。請參閱Adding an identity to an existing column

+0

DocCOmponent Table的ID與MIMETYPE表的ID不同,所以我無法插入其他表 –

+1

的ID,然後提供明確的ID或使ID成爲標識列 – Rahul