MySQL错误:您无法在FROM子句中为更新指定目标表'users_words'

时间:2014-05-20 21:51:06

标签: mysql sql select sql-update

请查看我的MySQL条款。

UPDATE `users_words` SET `priority` = (SELECT MAX(`priority`)+1 FROM `users_words`) where `userid` = 89 AND `wordid`="agree"

在这里,我将通过在现有的最大priority字段值中加1来更新priority字段。但我收到错误You can't specify target table 'users_words' for update in FROM clause

如何解决此问题?

1 个答案:

答案 0 :(得分:2)

将子查询包装在另一个SELECT

UPDATE `users_words` 
SET `priority` = (SELECT x.* FROM (SELECT MAX(`priority`)+1 FROM `users_words`) x) 
WHERE `userid` = 89 AND `wordid`="agree"