[MSSQL] 當自動識別欄位需要Insert資料時應該怎麼辦 ?

今天在手動將MySQL資料匯入MSSQL時遇到了這個問題,但又不想將自動識別欄位取消掉,於是乎找了一下資料來解決 …

 

語法:

1
2

SET IDENTITY_INSERT TABLE_NAME OFF;
1
2

SET IDENTITY_INSERT TABLE_NAME ON;

 

範例:

1
2
3
4
5
6
7
8

SET IDENTITY_INSERT [dbo].[Demo] ON;

INSERT INTO [dbo].[Demo] ([ID], [Name]) VALUES (N'1', N'王小名');

INSERT INTO [dbo].[Demo] ([ID], [Name]) VALUES (N'2', N'王大名');

SET IDENTITY_INSERT [dbo].[Demo] OFF;

 

 

參考:

  1. 在程式開發時使用SET IDENTITY_INSERT似乎無效?
  2. SQL錯誤訊息:當IDENTITY_INSERT 設為OFF 時,無法將外顯