使用SQL Server。
RecordNo ID
---------------
2 001
3 002
4 003
....
RecordNo列是Table1的标识列
RecordNo
列有时从0开始,有时从2开始。如何避免此问题 - RecordNo Column应始终从1开始。它不应该从其他数字开始。
RecordNo ID
--------------
1 001
2 002
3 003
....
需要查询帮助
答案 0 :(得分:3)
无论记录是否最终提交,自动递增的标识号都会递增。它在我看来可能是初始插入失败或者是在未提交的事务中。
标识列类型是一个代理标识符,不建议将该数字用于其他任何内容。可以构建自己的自动增量功能,但由于性能和并发问题,这通常是个坏主意。
此外,reseed the identity column back to 1可以这样:
dbcc checkident (table1, reseed, 1)
编辑:我假设您已正确设置了表格定义,种子设置为1,增量也设置为1。
答案 1 :(得分:1)
您可以在创建表时设置起始值:
Create Table Table1
(
RecordNo int not null Identity(1,1)
, Id char(3) ...
)
IDENTITY [ (seed ,increment ) ]
如果您需要重新设定指定的表格,请参阅DBCC CHECKIDENT。