我正在尝试根据该表中的其他值更新表中的特定行,但我似乎无法弄清楚如何执行此操作:
UPDATE users AS a SET a.val = (SELECT value FROM users WHERE userid = 4) WHERE a.userID = 1
但我收到了错误
Lookup Error - MySQL Database Error: You can't specify target table 'a' for update in FROM clause
我在这里缺少什么想法?
答案 0 :(得分:1)
使用JOIN
语法和非等连接
UPDATE users a JOIN users b
ON a.userID = 1
AND b.userid = 4
SET a.value = b.value
这是 SQLFiddle 演示