gpt4 book ai didi

mysql - 重新排序/重置自动增量主键

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

我有一个带有自动增量主键的 MySQL 表。我删除了表格中间的一些行。例如,现在我在 ID 列中有这样的内容:12、13、14、19、20。我删除了 15、16、17 和 18 行。

我想重新分配/重置/重新排序主键,以便具有连续性,即将 19 变为 15,将 20 变为 16,依此类推。

我该怎么做?

最佳答案

尽管这个问题似乎很老了,但我会为在这里搜索的人发布答案。

SET @count = 0;
UPDATE `users` SET `users`.`id` = @count:= @count + 1;

如果该列在其他表中用作外键,请确保外键关系使用 ON UPDATE CASCADE 而不是默认的 ON UPDATE NO ACTION在那些表中。

此外,为了重置 AUTO_INCRMENT 计数,您可以立即发出以下语句。

ALTER TABLE `users` AUTO_INCREMENT = 1;

对于 MySQL,它将将该值重置为 MAX(id) + 1

关于mysql - 重新排序/重置自动增量主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54097704/

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