出現當IDENTITY_INSERT 設為 OFF 時,無法將外顯值插入資料表 'TableName' 的識別欄位中
參照MSDN: SET IDENTITY_INSERT (Transact-SQL)
SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
於Insert Into 前先執行
SET IDENTITY_INSERT TableName On;
結果出現另一個錯誤訊息:位於資料表 TableName 的識別欄位其外顯值只有當使用了資料行清單且 IDENTITY_INSERT 為 ON 時才能指定。
原來,使用識別欄位的複製移動必須指定識別欄位,也就是不能太懶使用
Insert Into TableName Select col1, col2, col3 From srctable
必須指定欄位名稱
Insert Into (col1, col2, col3) select col1, col2, col3 from srctable
避免造成遺憾,養成好習慣,於Insert Into之後補上這行
SET IDENTITY_INSERT TableName Off;
沒有留言:
張貼留言