表的主键以0开头

时间:2014-03-14 07:17:15

标签: sql sql-server database

我有一个表'rack',在插入第一个值时,primary_key(列名: rack_db_key )获取值'0'。 尽管主键初始化为identity(1,1),但值仍从0开始。

我该怎么做才能从1 开始?

3 个答案:

答案 0 :(得分:0)

将主键列的初始值设置为1(我希望rack_db_key是自动增量列)

$sql = "ALTER TABLE MY_TABLE AUTO_INCREMENT = 1";

如果您的列rack_db_key不是自动增量,则可以使用以下查询

进行设置
$sql = "ALTER TABLE MY_TABLE ADD rack_db_key INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ADD INDEX (rack_db_key);";

答案 1 :(得分:0)

如果您在列上设置标识,它通常从1开始,否则您的主键肯定可以为零

答案 2 :(得分:0)

可能是因为:

您可能截断表格“rack”,然后应用dbcc checkident(rack,reseed,0)

但是在SQL中截断表时,它会将其重新设置为0(自动)。

因此,只有当您拥有dbcc checkident(rack,reseed,0)表时才会使用delete