递归火山软件开发平台

标题: SQlite工具类 表 删除一个id,剩下是向前移一位。 [打印本页]

作者: 522427447    时间: 2023-11-2 21:46
标题: 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", 真, 真, )  
这两个没有用??哪里的问题??
还有一个问题。怎么查 表 某一项 最后一条 记录?
(, 下载次数: 16) (, 下载次数: 15)
(, 下载次数: 17) (, 下载次数: 15)



作者: 创世魂    时间: 2023-11-2 22:31
取消自增id,然后删除后需要自己写sql语句更新id。   没办法自动更新,要自己写语句更新。
作者: 522427447    时间: 2023-11-2 23:27
本帖最后由 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
本帖最后由 创世魂 于 2023-11-3 07:57 编辑
522427447 发表于 2023-11-2 23:27
就是说如果要删除一行记录。就要更新剩下所以的记录。我也尝试了更新。
UPDATE voldp SET ID = ID - 1 WHE ...

不是这个意思,是写sql语句批量更新字段值。   你这个语句没用,更新不了。UPDATE  更新。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4