我有一张这样的桌子:
ID | uid | vcode | vcode_next
1 1 abc
2 2 def
3 2 ghi
4 1 jkl
5 1 mno
我需要用给定用户ID的下一个vcode更新vcode\u next,因此结果应该是:
ID | uid | vcode | vcode_next
1 1 abc jkl
2 2 def ghi
3 2 ghi
4 1 jkl mno
5 1 mno
我已经看到了一些类似的问题,它们对选择更新值有不同的要求,但是我不太清楚如何为给定用户id的下一个值实现这个问题。
任何暗示都将不胜感激。
最佳答案
您可以对同一个表执行JOIN
操作,并执行类似的UPDATE
操作
UPDATE table1 a
JOIN table1 b ON a.uid = b.uid AND a.ID < b.ID
SET a.vcode_next = b.vcode;
编辑:
发布的查询运行良好,并为每个帖子提供准确的结果。请看这个演示小提琴http://sqlfiddle.com/#!9/4f020/1以获取证据。在
UPDATE
关于mysql - MySQL:使用下一个用户记录中的值更新用户记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30688918/