0

当我从表中删除一行时,rowID 号被删除;这意味着 rowID 不再真正排序。在这种情况下,我想重置 rowID 以便新的 ID 将被排序和连续。我试图用 ALTER TABLE 来做到这一点:

ALTER TABLE my_table DROP ID;
ALTER TABLE my_table AUTO_INCREMENT = 1;
ALTER TABLE my_table ADD ID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

...但这不起作用。我怎样才能得到连续的数字?

4

1 回答 1

0

在技​​术上是可行的,如果有些不明智 -在 SQLite 中为 AUTOINCREMENT 设置起始值。但听起来你使用了错误的自动增量,你绝对不应该在每次从表中删除一行时更改每一行的 id 值。这使得在查询中连接其他表非常困难,并且在大表上速度会非常慢。为什么 id 是1,2,4而不是1,2,3无论如何都重要?你仍然ORDER BY可以用同样的方式。

于 2012-09-01T12:43:07.670 回答