更改MySQL中自动增量值的当前计数?

cod*_*ama 41 mysql

目前,每次我向数据库添加一个条目时,自动增量值都会增加1.但是,它只有47的数量.所以,如果我添加一个新条目,它将是48,然后另一个它将是49等.

我想改变当前的自动增量计数器.即我想将其从47更改为10000,以便输入的下一个值将是10001.我该怎么做?

Pas*_*TIN 91

您可以使用ALTER TABLE来设置AUTO_INCREMENT列的值; 引用该页面:

要更改AUTO_INCREMENT 要用于新行的计数器的值 ,请执行以下操作:

ALTER TABLE t2 AUTO_INCREMENT = value;
Run Code Online (Sandbox Code Playgroud)

还有一条说明:

您不能将计数器重置为小于或等于任何已使用的值.
对于MyISAM,如果该值小于或等于 AUTO_INCREMENT列中当前的最大值,则该值将重置为当前最大值加1.
对于InnoDB,如果该值小于列中的当前最大值,则不会发生错误,并且不会更改当前序列值.

希望这可以帮助 !

  • 我想提一下,你只能将`AUTO_INCREMENT`更改为具体数字.表达是不允许的.我试图通过`ALTER TABLE t2 AUTO_INCREMENT = <the_current_value> + value`和'ALTER TABLE t2 AUTO_INCREMENT = AUTO_INCREMENT + value`来"跳过"某些值,但两者都导致了一个看起来有点奇怪的错误.MySQL版本`5.6.33` (2认同)

Pau*_*xon 15

请参阅ALTER TABLE的手册- 这应该这样做:

ALTER TABLE [tablename] AUTO_INCREMENT = [number]
Run Code Online (Sandbox Code Playgroud)


小智 9

你可以通过执行以下语句来完成它

ALTER TABLE t2 AUTO_INCREMENT = 10000;
Run Code Online (Sandbox Code Playgroud)

因此,下一个Auto Increment键将从10001开始.

我希望这能解决问题

  • 你为什么要重复一个已经给出的答案,你是否包含垃圾邮件链接?请不要这样做.不需要问候语(您的姓名已经显示在帖子下方),也不会发送垃圾邮件(只需将其放入您的用户个人资料中). (8认同)
  • 实际上,[Value] 是下一个要使用的数字...而不是上一个值。因此,NEXT 自动增量将为 10000 ...而不是 10001。 (3认同)