UPDATE user SET
tw_oauth_token=(SELECT tw_oauth_token FROM user WHERE id=27),
tw_oauth_token_secret = (SELECT tw_oauth_token_secret FROM user WHERE id=27),
tw_user_id = (SELECT tw_user_id FROM user WHERE id=27),
handler = (SELECT handler FROM user WHERE id=27),
merged=1 WHERE id=26
这个想法是从 id = 27 的用户表中选择数据并更新 id = 26 的同一个表。
我遇到以下错误:
#1093 - You can't specify target table 'user' for update in FROM clause
如有任何帮助,我们将不胜感激。谢谢
最佳答案
UPDATE user a
CROSS JOIN user b
SET a.tw_oauth_token = b.tw_oauth_token,
a.tw_oauth_token_secret = b.tw_oauth_token_secret,
a.tw_user_id = b.tw_user_id,
a.handler = b.handler,
a.mrged = 1
WHERE a.ID = 26 AND
b.ID = 27
关于mysql - 使用同一表中另一行的数据更新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16030341/