我有一个MySQL 5服务器和一个表,在id字段(主键)上有一个自动增量.现在我想在两者之间添加一条记录,所以我必须将所有其他ID增加一个.这是我试过的:
UPDATE myTable SET id=id+1 WHERE id >= 53
这不起作用,因为例如id = 52的记录已经存在.我怎样才能做到这一点?如果他从最后一个条目开始并进行更新,我认为应该可行.但是怎么样?
最佳答案
我认为这没有充分的理由.只有问题.在运行下面的语句之前,请检查是否定义了FOREIGN键,引用此id.它们是否设置为ON UPDATE CASCADE?此外,您是否有任何与此表相关的触发器?
原文链接:https://www.f2er.com/mysql/433990.html但首先要考虑的是,为什么你(想你)需要这个.是否会用于订购桌子?在这种情况下,正如@Mark指出的那样,您应该使用单独的列来指定所需的顺序.
但是,如果您确定自己真的想要这个,请使用:
UPDATE myTable
SET id = id + 1
WHERE id >= 53
ORDER BY id DESC ;