gpt4 book ai didi

mysql - 无法更改 MySQL AUTO_INCREMENT

转载 作者:行者123 更新时间:2023-11-29 01:16:42 25 4
gpt4 key购买 nike

我正在努力将表从使用软件生成的 ID 更新为 MySQL auto_increment ID。

ID字段为int(10),数据库类型为InnoDB

将ID更新为顺序后,从1开始,新的最高ID为122。之前最高ID为62029832

现在我正在尝试更新 auto_increment 值,以便下一次插入是 123。

当前的 auto_increment 值为 62029833。

到目前为止我已经尝试过:

ALTER TABLE 表名 AUTO_INCREMENT = 123; - - 没有运气。不出错,只是不粘。

插入表名(ID)值(123);从表名中删除 ID = 123; --- 仍然没有运气

如果有其他方法,我想避免截断表。

根据我的阅读,InnoDB 应该允许更改为 123,因为当前最高值为 122,但它表现得好像有更高的值。

为了测试,我还尝试将 auto_increment 更改为 1000、2000、122 等。没有任何问题。

有什么想法吗?

最佳答案

在进一步研究之后,我找到了一个愚蠢的、不直观的解决方案。

首先,从您的 ID 列中删除 AUTO_INCREMENT。我进行了外键检查,所以我必须运行:

SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE `warehouse`.`addresses`
CHANGE COLUMN `aID` `aID` INT(10) UNSIGNED NOT NULL;
SET FOREIGN_KEY_CHECKS = 1;

接下来,更新 AUTO_INCREMENT 值:

ALTER TABLE 'warehouse'.'addresses' AUTO_INCREMENT = 123;

最后,重新添加AUTO_INCREMENT:

SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE `warehouse`.`addresses`
CHANGE COLUMN `aID` `aID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
SET FOREIGN_KEY_CHECKS = 1;

希望这对一些可怜的人有帮助!

关于mysql - 无法更改 MySQL AUTO_INCREMENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22367194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com