使用子查询更新MySQL

使用子查询更新MySQL,mysql,select,sql-update,subquery,Mysql,Select,Sql Update,Subquery,我正在尝试根据表中的另一个值更新表中的特定行,但我似乎不知道如何执行此操作: 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 你知道我这里缺少什么

我正在尝试根据表中的另一个值更新表中的特定行,但我似乎不知道如何执行此操作:

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

你知道我这里缺少什么吗?

使用
JOIN
语法和非等连接

UPDATE users a JOIN users b
    ON a.userID = 1
   AND b.userid = 4
   SET a.value = b.value

这是演示

谢谢!与SQL server略有不同,我已经习惯了SQL server。