加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

在我们删除其中一些后,修复mysql表行id中的空白

发布时间:2020-12-11 23:53:13 所属栏目:MySql教程 来源:网络整理
导读:我有一个超过17000行的mysql表.我从中间部分删除了大约530行.现在每行都有一个连续的AUTO-INCREAMENTED数字主键.您现在可以理解,已删除了几行数.所以我只是想问一下,有什么方法可以在一些完美的顺序中再次修复所有行?最佳答案您可以使用此主键作为外键,小心

我有一个超过17000行的mysql表.我从中间部分删除了大约530行.现在每行都有一个连续的AUTO-INCREAMENTED数字主键.您现在可以理解,已删除了几行数.所以我只是想问一下,有什么方法可以在一些完美的顺序中再次修复所有行? 最佳答案 您可以使用此主键作为外键,小心其他表

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

这将更新表表的id列…然后你需要重置auto_increment:

ALTER TABLE table AUTO_INCREMENT = 1;

这会将下一个id从docs重置为MAX(id)1:

To change the value of the AUTO_INCREMENT counter to be used for new
rows,do this:

06002

You cannot reset the counter to a value less than or equal to any that
have already been used. For MyISAM,if the value is less than or equal
to the maximum value currently in the AUTO_INCREMENT column,the value
is reset to the current maximum plus one

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读