2011-07-06 64 views
2

我試圖運行此腳本:標識插入問題

SET IDENTITY_INSERT dbo.Message ON 
INSERT INTO dbo.Message 
SELECT (Values I want to insert) 

當我做我仍然得到錯誤 *僅可指定表「dbo.Message」的標識列的顯式值當使用列列表且IDENTITY_INSERT爲ON時。*

我在做什麼錯?

回答

3

錯誤的關鍵在於「何時使用列列表」。您想要:

SET IDENTITY_INSERT dbo.Message ON 
INSERT INTO dbo.Message (column1, column2, ...) -- Added column list here 
SELECT (Values I want to insert) 
+2

記住:SET IDENTITY_INSERT dbo.Message OFF! –

2

您需要按照錯誤消息所述進行操作。 - SELECT *將無法​​正常工作

INSERT INTO dbo.Message 
(col1, col2, col3, col4) 
SELECT Col1, col2, col3, col4 
FROM OtherTable 

你需要的字段列表中INSERT行之後,你需要在你的SELECT指定字段名:像格式化你的代碼。

0

您必須提及Insert語句和select子句中的所有列名稱。 有些事情是這樣的。

插入插入TBL ( [COL1], [COL2] ) 選擇 [COL1], [COL2]