使用sybase时将id字段设置为identity属性,即为自增。
但是sybase中自增时有时会跳跃,即,上一条还是5,下一条可能一下跳到50000+了。
with identity_gap = 1 on 'default'可以设置跳跃值为1。
set identity_insert test_table on 手工插入identity的值 1000
再插入一条id就是1001
create table test_table (
id numeric(18,0) identity ,
str1 varchar(20) not null
)
lock allpages
with identity_gap = 1 on 'default'
go
set identity_insert test_table on
go
insert into test_table(id,str1) values(1000,'bbb')
go
set identity_insert test_table off
go
set identity_update test_table on
go
update test_table set id=id+1000 where id<1000
go
set identity_update test_table off
go
insert into test_table(str1) values('ccc')
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
让表中则增字段从1000开始自增,跳跃度为1
create table test_table (
id numeric(18,0) identity ,
str1 varchar(20) not null ,
PRIMARY KEY CLUSTERED ( id ) on 'default'
)
lock allpages
with identity_gap = 1 on 'default'
go
setuser
go
set identity_insert test_table on
go
insert into test_table(id,str1) values(1000,'111')
go
set identity_insert test_table off
go
delete from test_table
go
创建表的时候,设置 identity_gap = 1跳跃度为1
建表后打开identity手动开关,插入一条数据(id=1000),关闭开关,删除数据
再次插入的时候,默认从1000开始自增,跳跃度为1
但是sybase中自增时有时会跳跃,即,上一条还是5,下一条可能一下跳到50000+了。
with identity_gap = 1 on 'default'可以设置跳跃值为1。
set identity_insert test_table on 手工插入identity的值 1000
再插入一条id就是1001
create table test_table (
id numeric(18,0) identity ,
str1 varchar(20) not null
)
lock allpages
with identity_gap = 1 on 'default'
go
set identity_insert test_table on
go
insert into test_table(id,str1) values(1000,'bbb')
go
set identity_insert test_table off
go
set identity_update test_table on
go
update test_table set id=id+1000 where id<1000
go
set identity_update test_table off
go
insert into test_table(str1) values('ccc')
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
让表中则增字段从1000开始自增,跳跃度为1
create table test_table (
id numeric(18,0) identity ,
str1 varchar(20) not null ,
PRIMARY KEY CLUSTERED ( id ) on 'default'
)
lock allpages
with identity_gap = 1 on 'default'
go
setuser
go
set identity_insert test_table on
go
insert into test_table(id,str1) values(1000,'111')
go
set identity_insert test_table off
go
delete from test_table
go
创建表的时候,设置 identity_gap = 1跳跃度为1
建表后打开identity手动开关,插入一条数据(id=1000),关闭开关,删除数据
再次插入的时候,默认从1000开始自增,跳跃度为1