22,210
社区成员
发帖
与我相关
我的任务
分享
create table tb(id int identity(1,1),a timestamp)
go
set identity_insert tb on
insert into tb(id,a) values(2,null)
insert into tb(id,a) values(3,null)
go
select id,a
from tb
set identity_insert tb off
drop table tb
/*
id a
----------- ------------------
2 0x0000000000001772
3 0x0000000000001773
(2 行受影响)
DECLARE @pkid INT
SELECT @pkid=IDENT_CURRENT('tb') --保存表中的自增值
SET IDENTITY_INSERT tb ON --关闭自增
INSERT ..... --SQL操作
SET IDENTITY_INSERT tb OFF --启用自增
DBCC CHECKIDENT ('tb',RESEED,@pkid) --还原自增值
SET IDENTITY_INSERT table_name ON
--1.可以插入任意id值
--2.一个会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON
INSERT INTO table_name(i_id, cexch_name) SELECT 2, N'美国'
--3.INSERT列中必须出现identity列
SET IDENTITY_INSERT table_name OFF --默认为OFF
--注意:新增的记录始终会在最后一行
set identity_insert tb on
insert into tb(i_id,cexch_name....) values(4,N'美元'....)
create table tb(id int identity(1,1))
go
set identity_insert tb on
insert into tb(id) values(2)
go
select id
from tb
set identity_insert tb off
drop table tb
/*
id
-----------
2
set insert_identity on
insert into tb(id,c1,c2) values(4,'a',123) --id是自增的。
新手,学习求解!