如何进行DB2 和SQL Server自增列比较,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
最近由于对SQL Server的自增列理解不够好,导致了一个设计问题,做了2个小例子解释一下
SQL Server的自增列
create table identitytest(
id int identity(1,1),
name varchar(20)
)
go
set IDENTITY_INSERT identitytest ON
go
insert into identitytest(id,name)values(1,'test1')
go
insert into identitytest(id,name)values(2,'test2')
go
set IDENTITY_INSERT identitytest OFF
go
insert into identitytest(name)values('test3')
go
set IDENTITY_INSERT identitytest ON
go
insert into identitytest(id,name)values(10000,'test4')
go
set IDENTITY_INSERT identitytest OFF
go
insert into identitytest(name)values('test5')
go
id name
1 test1
2 test2
3 test3
10000 test4
10001 test5
(5 rows affected)
1>
SQL Server的自增列的值取决于表里面的此列的当前的最大值。
create table identitytest(
id bigint not null generated by default as identity (start with 1,increment by 1),
name varchar(20)
);
insert into identitytest(id,name)values(1,'test1');
insert into identitytest(id,name)values(2,'test2');
insert into identitytest(name)values('test3');
insert into identitytest(id,name)values(10000,'test4');
insert into identitytest(name)values('test5');
db2 => select * from identitytest;
ID NAME
-------------------- --------------------
1 test1
2 test2
1 test3
10000 test4
2 test5
5 record(s) selected.
db2 =>
DB2的自增列,当你手工插入自增列的值的时候,DB2会无视你插入的值,DB2用自增列的定义产生值。
看完上述内容,你们掌握如何进行DB2 和SQL Server自增列比较的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!