删除行后重置sqlite中的rowid

时间:2012-09-01 12:30:56

标签: c# sql sqlite

当我从表中删除一行时,删除了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;

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

1 个答案:

答案 0 :(得分:0)

技术上可行,如果有些不可取的话 - Set start value for AUTOINCREMENT in SQLite。但听起来你使用autoincrement是错误的,每次从表中删除一行时,你绝对不应该更改每一行的id值。这使得在查询中连接其他表非常困难,并且在大型表上会非常慢。如果ID为1,2,4而不是1,2,3,为什么重要?您仍然可以ORDER BY以同样的方式使用它们。