如何重设序列号以使其连续?

如何重设序列号以使其连续?,第1张

如何重设序列号以使其连续? 如果该字段是您的主键…

…然后,如该问题的其他地方所述,您不应该更改ID。这些ID已经是唯一的,您既不需要也不想重复使用它们。

现在,那…


否则…

对于某些应用程序定义的排序,您很有可能具有 不同的 字段(即PK)。只要此排序不是其他字段所固有的(例如,如果它是用户定义的),那么这没有什么错。

您可以使用(临时)

auto_increment
字段重新创建表,然后再删除
auto_increment

我很想

UPDATE
按升序排列并应用一个递增变量。

SET @i = 0;UPDATE `table`   SET `myOrderCol` = @i:=@i+1 ORDER BY `myOrderCol` ASC;

(查询未经测试。)

每次 删除项目 这样做确实很浪费,但是不幸的是,如果要维护列的完整性,使用这种手动排序方法就无能为力了。

您可以减轻负载,例如在删除

myOrderCol
等于的条目后
5

SET @i = 5;UPDATE `table`   SET `myOrderCol` = @i:=@i+1 WHERe `myOrderCol` > 5 ORDER BY `myOrderCol` ASC;

(查询未经测试。)

这会将以下所有值“随机”减一。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5508791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存