gpt4 book ai didi

sql - shift id's of table alike (id = id + 1) 其中 id 是主键

转载 作者:行者123 更新时间:2023-12-03 16:50:28 30 4
gpt4 key购买 nike

我需要改变表的所有主键

UPDATE TODO SET id = id + 1 

但我做不到(Demo 来自 Ahmad Al-Mutawa 的回答)描述了原因。主键不能这样改。

我也不能根据这是 sqlite 来改变表:http://www.sqlite.org/omitted.html

我正在考虑对其他列进行一些硬编码的递归更改,但如果没有 tsql 和存储过程,我很难理解如何做到这一点?

最佳答案

当你执行 UPDATE 命令时,你会暂时得到重复的 ID。

为避免这种情况,请分两步更改 ID。
首先,选择一个大于最大 ID 的数字,并将其添加到所有 ID:

UPDATE TODO SET id = id + 1000000000

然后,从所有 ID 中减一:

UPDATE TODO SET id = id - (1000000000 - 1)

关于sql - shift id's of table alike (id = id + 1) 其中 id 是主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13265244/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com