删除Mysql中的行后进行整数对齐

时间:2016-07-26 20:58:49

标签: mysql

primary │  id   │   stuff
   1        1      ......
   2        2      ......
   3        3      ......
   4        4      ......
   5        5      ......

这是我的桌子。可以说我删除了table.primary = 3。之后,我想将table.id=4更改为id=3,将table.id=5更改为id=4。因为我需要逐个排列id。如何在删除table.primary=3后执行此操作?感谢。

1 个答案:

答案 0 :(得分:3)

你没有!

永远不要搞乱自动增量键!使用其他列进行排名,例如created列,其中包含您添加记录的时间戳。然后,您可以在select语句中即时构建排名。喜欢这个

select *, @rank := @rank + 1 as ranking
from your_table
cross join (select @rank := 0) r
order by created