我有一张这样的桌子:

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/

10-10 04:52