MySQL 中 You can't specify target table '表名' for update in FROM clause錯誤解決辦法


在MySQL中,寫SQL語句的時候 ,可能會遇到You can't specify target table '表名' for update in FROM clause這樣的錯誤,它的意思是說,不能先select出同一表中的某些值,再update這個表(在同一語句中),即不能依據某字段值做判斷再來更新某字段的值

問題解決

將SELECT出的結果再通過中間表SELECT一遍,這樣就規避了錯誤。

例:

DELETE
FROM
l_p_agent_user
WHERE
id
NOT IN
(SELECT a.id 
FROM
(SELECT
id
FROM
l_p_agent_user
WHERE
ag_sj='260'
OR
id='260') a)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM