sql server 複製相同表批次插入資料包僅當使用列列表並且 IDENTITY_INSERT 為ON時

qingjiawen發表於2024-03-13

sql server 複製相同表批次插入資料

insert intoselect * from

錯誤

僅當使用列列表並且 IDENTITY_INSERT 為ON時,才能為表“XXX”中的標識列指定顯式值

主要是由於表主鍵int 型別自增列 導致的。

處理

SET IDENTITY_INSERT [dbo].[複製表] ON
insert into [dbo].[複製表](欄位)
select * from [dbo].[]  
SET IDENTITY_INSERT [dbo].[複製表] off

插入 insert into 表(欄位)要標註的

如果主鍵不是自增列可以直接執行

insert into [dbo].[複製表] 
select * from [dbo].[]  

如果 執行

SET IDENTITY_INSERT [dbo].[複製表] ON
會提示
表 ' ' 沒有標識屬性。無法執行 SET 操作。

相關文章