我正在寻找一个简单的解决方案,让我的表中的ID列从0开始并自动增加而不删除行或不必手动更改数据库中的ID。
我在表格中有大约120行,第一条记录以ID开头:2,我希望这是' 0'和所有其他行按升序更新。
我理解如果删除了所有行,AUTO_INCREMENT将解决此问题。
您可以通过下表查看数字的排序方式。
我希望我能够正确地解释自己,并且非常感谢任何帮助。
答案 0 :(得分:2)
编写子查询,生成从旧ID到新ID的映射。将其与UPDATE
查询中的表格结合使用。
UPDATE yourTable AS t1
JOIN (
SELECT id, @newID := @newID + 1 AS newID
FROM yourTable
JOIN (SELECT @newID := -1) AS vars
ORDER BY id) AS new ON t1.id = new.id
SET t1.id = new.newID;