在不损坏自动增量sqlite的情况下更改行id
我有一个包含10行的sqlite表。结构如下:在不损坏自动增量sqlite的情况下更改行id,sqlite,auto-increment,Sqlite,Auto Increment,我有一个包含10行的sqlite表。结构如下: -------------------- id - Name - Address 1 - John - LA 2 - Mike - CA ... --------------------- 我想将最后一行id(id=10)更改为(id=2),并将第二行ow(id=2)更改为最后一行(id=10),而不破坏自动增量,以便插入新行时不会中断或重新开始 我怎样才能做到这一点 都是关于表中使用的最大值,因此您可以简单地使用一些您知道不使用
--------------------
id - Name - Address
1 - John - LA
2 - Mike - CA
...
---------------------
我想将最后一行id(id=10)更改为(id=2),并将第二行ow(id=2)更改为最后一行(id=10),而不破坏自动增量,以便插入新行时不会中断或重新开始
我怎样才能做到这一点 都是关于表中使用的最大值,因此您可以简单地使用一些您知道不使用的小值:
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;
您能更新两行中的值吗?不要弄乱自动递增列。不要这样做。是的,但是这个表有14列。谢谢!。它很好用。我只需要添加
COMMIT代码>在查询的开头以避免错误:无法在事务中启动事务:开始代码>再次感谢好吧,你应该知道你是否已经开始了交易。(Python中的除外,因为Python中的