【发布时间】:2010-12-01 09:10:19
【问题描述】:
目前,每次我向数据库添加条目时,自动增量值都会增加 1,这是应该的。但是,它只是计数 47。所以,如果我添加一个新条目,它将是 48,然后另一个它将是 49,依此类推。
我想更改当前自动增量计数器的位置。 IE。我想将它从 47 更改为 10000,这样输入的下一个值将是 10001。我该怎么做?
【问题讨论】:
标签: mysql
目前,每次我向数据库添加条目时,自动增量值都会增加 1,这是应该的。但是,它只是计数 47。所以,如果我添加一个新条目,它将是 48,然后另一个它将是 49,依此类推。
我想更改当前自动增量计数器的位置。 IE。我想将它从 47 更改为 10000,这样输入的下一个值将是 10001。我该怎么做?
【问题讨论】:
标签: mysql
您可以使用ALTER TABLE 设置AUTO_INCREMENT 列的值;引用该页面:
改变值
AUTO_INCREMENT计数器用于 新行,这样做:
ALTER TABLE t2 AUTO_INCREMENT = value;
还有一个注释说:
您不能将计数器重置为 值小于或等于任何 已经被使用了。
对于 MyISAM,如果 该值小于或等于 当前的最大值AUTO_INCREMENT列,值为 重置为当前最大值加一。
对于 InnoDB,如果值小于 中的当前最大值 列,不会发生错误,并且 当前序列值没有改变。
希望这会有所帮助!
【讨论】:
AUTO_INCREMENT 更改为具体数字。不允许表达。我试图通过ALTER TABLE t2 AUTO_INCREMENT = <the_current_value> + value 和ALTER TABLE t2 AUTO_INCREMENT = AUTO_INCREMENT + value“跳过”一些值,但都导致了一个看起来有点奇怪的错误。 MySQL 版本5.6.33
请参阅ALTER TABLE 的手册 - 应该这样做:
ALTER TABLE [tablename] AUTO_INCREMENT = [number]
【讨论】:
你可以通过执行以下语句来完成它
ALTER TABLE t2 AUTO_INCREMENT = 10000;
所以下一个自动增量键将从 10001 开始。
希望能解决问题
【讨论】:
也可以用建表语句设置如下;
CREATE TABLE mytable (
id int NOT NULL AUTO_INCREMENT,
...
PRIMARY KEY (ID)
)AUTO_INCREMENT=10000;
希望它对某人有所帮助。
【讨论】: