SQL命令将数据重新编号

技术 · 2023-06-17 · 263 人浏览

由于我们在删除数据库数据时,数据ID不会按序重新编号,中间会断号。

lj05ni3g.png

强迫症必须要管管,我们可以使用sql命令去重新编号:

SET @i = 0;
  UPDATE `table_name` SET `id` = (@i:=@i+1);
  ALTER TABLE `table_name` AUTO_INCREMENT = 1;

这样我们的数据就重新编号了!

lj05rvk2.png

由于每次增添删减数据又会导致断号,所以我们直接在数据库中加一个定时命令,保证数据每天都会重新编号。

CREATE EVENT my_event
ON SCHEDULE EVERY 1 DAY
DO
BEGIN
  SET @i = 0;
  UPDATE `table_name` SET `id` = (@i:=@i+1);
  ALTER TABLE `table_name` AUTO_INCREMENT = 1;
END;

当然我们也可以设置在删除数据时自动重新编号,这就需要按情况设置了!

Theme Jasmine by Kent Liao