Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 自增恒等式问题_Sql_Sql Server_Sql Server 2005_Tsql - Fatal编程技术网

Sql 自增恒等式问题

Sql 自增恒等式问题,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,使用SQL Server 表1 RecordNo列是表1的标识列 问题 RecordNo列有时从0开始,有时从2开始。如何避免此问题--RecordNo列应始终从1开始。它不应该从其他数字开始 RecordNo ID -------------- 1 001 2 002 3 003 .... 需要查询帮助您可以在创建表格时设置起始值: Create Table Table1 ( RecordNo int not

使用SQL Server

表1 RecordNo列是表1的标识列

问题
RecordNo
列有时从0开始,有时从2开始。如何避免此问题--RecordNo列应始终从1开始。它不应该从其他数字开始

RecordNo   ID
--------------    
1          001
2          002
3          003
....

需要查询帮助

您可以在创建表格时设置起始值:

Create Table Table1
    (
    RecordNo int not null Identity(1,1)
    , Id char(3) ...
    )


如果需要为给定表格重新设定种子,请参见。

您可以在创建表格时设置起始值:

Create Table Table1
    (
    RecordNo int not null Identity(1,1)
    , Id char(3) ...
    )


如果需要为给定表重新设定种子,请参见。

无论记录是否最终提交,自动递增的标识号都会递增。在我看来,初始插入可能失败,或者在未提交的事务中

标识列类型是一个代理标识符,不建议将该数字用于其他任何内容。您可以构建自己的自动增量功能,但由于性能和并发性问题,这通常不是一个好主意

此外,还可以:



编辑:我假设您的表定义设置正确,种子设置为1,增量设置为1

无论记录是否最终提交,自动递增的标识号都会递增。在我看来,初始插入可能失败,或者在未提交的事务中

标识列类型是一个代理标识符,不建议将该数字用于其他任何内容。您可以构建自己的自动增量功能,但由于性能和并发性问题,这通常不是一个好主意

此外,还可以:



编辑:我假设您的表定义设置正确,种子设置为1,增量设置为1

如何插入数据?正如Nathan提到的,SQL server忽略了未提交记录的标识值。。。但除非你告诉他,否则它永远不会以0开头!如何插入数据?正如Nathan提到的,SQL server忽略了未提交记录的标识值。。。但除非你告诉他,否则它永远不会以0开头!
dbcc checkident (table1, reseed, 1)