これは私の mysql クエリですが、機能していません
update jos_users set name =
(SELECT name
FROM jos_users
WHERE id = 478) where id =477
このクエリの実行方法を教えてください。または他の可能性?
これは私の mysql クエリですが、機能していません
update jos_users set name =
(SELECT name
FROM jos_users
WHERE id = 478) where id =477
このクエリの実行方法を教えてください。または他の可能性?
表示されるエラー メッセージは次のとおりです。
#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