我有一个包含10行的sqlite表。结构是这样的:
--------------------
id - Name - Address
1 - John - LA
2 - Mike - CA
...
---------------------
我想将最后一行id(id = 10)更改为(id = 2)并将第二行(id = 2)更改为最后一行(id = 10)而不会破坏自动增量,因此当我插入时新行不会中断或重新开始。
我怎样才能实现这一目标?
答案 0 :(得分:1)
Autoincrementing完全是关于表中使用的最大值,因此您可以简单地使用一些您不知道的 small 值:< / p>
BEGIN;
UPDATE MyTable SET rowid = -12345 WHERE rowid = 10;
UPDATE MyTable SET rowid = 10 WHERE rowid = 2;
UPDATE MyTable SET rowid = 2 WHERE rowid = -12345;
COMMIT;