mysql 序列 重置_mysql – 如何重置序列号才能连续?

如果该字段是您的主键…

……然后,正如本问题其他部分所述,您不应该更改ID. ID已经是唯一的,您既不需要也不想重复使用它们.

现在,那说……

除此以外…

对于某些应用程序定义的排序,您很可能有不同的字段(也就是PK).只要这种排序不是某些其他领域固有的(例如,如果它是用户定义的),那么这没有任何问题.

您可以使用(临时)auto_increment字段重新创建表,然后删除auto_increment.

我很想按升序更新并应用递增变量.

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;

(查询未经测试.)

这将把所有以下值“混乱”为一.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值