522427447 发表于 2023-11-2 21:46:33

SQlite工具类 表 删除一个id,剩下是向前移一位。

本帖最后由 522427447 于 2023-11-2 22:13 编辑

无名模块中的 数据库 例子   SQlite工具类

在数据库 表voldp中 。我需要删除 ID = 1 的记录(或者删除多个),然后后面 id = 2 的记录, 如何像前面移动一位,id = 2 的记录变成id =1 ,后面以此类推,顺序向前面移动一位。
现在 尝试了,UPDATE voldp SET ID = ID - 1 WHERE ID > 1          及   数据库.执行SQL ("alter table voldp auto_increment=1", 真, 真, )
这两个没有用??哪里的问题??
还有一个问题。怎么查 表 某一项 最后一条 记录?




创世魂 发表于 2023-11-2 22:31:10

取消自增id,然后删除后需要自己写sql语句更新id。   没办法自动更新,要自己写语句更新。

522427447 发表于 2023-11-2 23:27:31

本帖最后由 522427447 于 2023-11-2 23:32 编辑

创世魂 发表于 2023-11-2 22:31
取消自增id,然后删除后需要自己写sql语句更新id。   没办法自动更新,要自己写语句更新。 ...
就是说如果要删除一行记录。就要更新剩下所以的记录。我也尝试了更新。
UPDATE voldp SET ID = ID - 1 WHERE ID > 1
alter table voldp auto_increment=1
可是不行啊
如果我使用 Sqlite数据库 可行吗?

创世魂 发表于 2023-11-3 07:53:35

本帖最后由 创世魂 于 2023-11-3 07:57 编辑

522427447 发表于 2023-11-2 23:27
就是说如果要删除一行记录。就要更新剩下所以的记录。我也尝试了更新。
UPDATE voldp SET ID = ID - 1 WHE ...
不是这个意思,是写sql语句批量更新字段值。   你这个语句没用,更新不了。UPDATE更新。
页: [1]
查看完整版本: SQlite工具类 表 删除一个id,剩下是向前移一位。