【发布时间】:2011-10-21 18:50:10
【问题描述】:
所以我有 MySql,我有一个带有 user_id 列的表用户,它是主键并自动递增。现在,当我从表中删除所有数据并添加新数据时,user_id 不是从 1 开始,而是从删除前的数字开始。如果我想在不删除整个表并重新创建它的情况下重置它怎么办。
【问题讨论】:
-
我的回答对您有帮助吗?并回答您的问题?
标签: mysql primary-key
所以我有 MySql,我有一个带有 user_id 列的表用户,它是主键并自动递增。现在,当我从表中删除所有数据并添加新数据时,user_id 不是从 1 开始,而是从删除前的数字开始。如果我想在不删除整个表并重新创建它的情况下重置它怎么办。
【问题讨论】:
标签: mysql primary-key
ALTER TABLE some_table AUTO_INCREMENT=1
所以some_table 将是您要更改的表。
你也可以使用:
TRUNCATE TABLE some_table
这将重置表的自动增量,并从该表中删除所有记录。
【讨论】:
如果您已经在数据库中有一些数据,但希望将 user_id 重置为 1 而不删除数据,则下面的代码是最好的。在 SQL 命令中复制并运行
ALTER TABLE members DROP user_id;
ALTER TABLE members AUTO_INCREMENT = 1;
ALTER TABLE members ADD user_id int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
【讨论】:
您可以使用 DBCC 检查身份来重置您的主键。 这是语法:
DBCC CHECKIDENT(TableName,RESEED,0)
【讨论】: