重新排列行中的Mysql数字间隙

时间:2017-10-02 16:39:44

标签: mysql sql sql-update gaps-and-islands

我有一个表,其中包含一个没有自动增量的列。

当我删除记录时会出现一些空白,我想填补这些空白。具体来说,我想找到最低的数字并从那一行开始,并将每一行更改为从4开始。(我不关心数字的顺序是低于还是等于3)。下面是我希望该列如何处理UPDATE的示例。

+---+       +---+ 
| 1 |       | 1 |
+---+       +---+
| 4 |       | 4 |
+---+       +---+
| 9 |       | 5 |
+---+  ->   +---+
|10 |       | 6 |
+---+       +---+
|11 |       | 7 |
+---+       +---+
|15 |       | 8 |
+---+       +---+

如果可能的话,我想用一个查询来做,因为行可能是两三百个,我不想循环这么多。

0 个答案:

没有答案