这是我的mysql查询,但它无法正常工作
update jos_users set name =
(SELECT name
FROM jos_users
WHERE id = 478) where id =477
任何人都可以告诉我们如何执行此查询?或其他可能性?
答案 0 :(得分:1)
你应该得到的错误信息是:
#1093 - You can't specify target table 'jos_users' for update in FROM clause
这意味着您无法使用您在子选择中更新的同一个表。无论如何,有一个小小的解决方法来避免这种情况:只需使用嵌套的子选择:
update
jos_users
set
name = (select name from
(SELECT name FROM jos_users WHERE id = 478)
AS subselect_value)
where
id = 477