[sql server][基礎] insert時如何給自增列賦值
--建立測試環境
IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tb
GO
CREATE TABLE tb
(
id int identity,
code varchar(10),
name varchar(20),
CONSTRAINT PK_TB PRIMARY KEY (id)
)
GO
--查詢
INSERT TB SELECT 'AA','AA'
insert tb values('bb','bb')
select * from tb
go
--結果
/*
id code name
----------- ---------- --------------------
1 AA AA
2 bb bb
(2 行受影響)
*/
set IDENTITY_INSERT tb on
INSERT TB SELECT 3, 'AA','AA'
insert tb values(3,'bb','bb')
go
--結果
/*
訊息 8101,級別 16,狀態 1,第 6 行
僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'TB'中的標識列指定顯式值。
訊息 8101,級別 16,狀態 1,第 7 行
僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'tb'中的標識列指定顯式值。
*/
set IDENTITY_INSERT tb on
INSERT TB (id,code,name) SELECT 3, 'AA','AA'
insert tb (id,code,name) values(4,'bb','bb')
select * from tb
--結果
/*
id code name
----------- ---------- --------------------
1 AA AA
2 bb bb
3 AA AA
4 bb bb
(4 行受影響)
*/