This question already has answers here:
Reorder / reset auto increment primary key
(15个答案)
5年前关闭。
是否有方法更新表中的所有id以从1重新启动。
我有:
id  |  name
-------------
 3  | whatever
 23 | whatever
 31 | whatever
 13 | whatever
 45 | whatever

我想要:
id  |  name
-------------
 1  | whatever
 2  | whatever
 3  | whatever
 4  | whatever
 5  | whatever

谢谢您

最佳答案

完全同意上述观点,即这样做是一个坏主意,但如果你真的想这样做,另一种方法是:-

UPDATE some_table
INNER JOIN
(
    SELECT a.id, COUNT(b.id) AS seq
    FROM some_table a
    INNER JOIN some_table b
    ON b.id <= a.id
    GROUP BY a.id
) Sub1
ON some_table.id = Sub1.id
SET some_table.id = seq

关于mysql - Mysql更新ID ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21681776/

10-14 12:56
查看更多