是否存在使用SQL Lite交换主键值的最佳实践方法?

问题描述

| 作为背景,我正在使用一个SQL Lite数据库,该数据库正由一个封闭的UI占用,该UI不会通过方便的timestamp列对结果进行排序(gee,谢谢诺基亚!)-它仅使用默认顺序,与主键相对应,主键是香草自动递增的\'id \'列。 我很容易获得当前和期望的id值的映射,但是应用映射是我当前的问题。似乎我无法交换这些值,因为更新一次处理一行,这会暂时导致重复的值。我尝试过使用带有临时失序值的case子句的update语句,但是由于每行仅被处理一次,这显然是行不通的。因此,我已经达到需要3条更新语句来交换一对值的地步,这与理想情况相去甚远,因为我希望它可以很好地扩展。 与此复杂的是,设置了许多触发器,这使添加/删除行到新表中成为一个复杂的问题,除非我可以在由于表复制和删除而导致的任何添加/删除期间禁用这些触发器,这就是为什么我没有还没走那条路。 我想我的下一个查询行将是带有新ID的新列,然后找到一种在删除旧列之前将主索引移至该列的方法,但是如果有人可以提供,我会扔掉它了一个更好的解决方案,它将节省我一些时间:)     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...