1. 程式人生 > >You can't specify target table 't_open_user' for update in FROM clause

You can't specify target table 't_open_user' for update in FROM clause

https://blog.csdn.net/jiangyu1013/article/details/79108498

報錯如題,意思大致是:在一條 sql 語句中不能先查出來部分內容,再同時又對當前表作修改。

解決方法:給查詢加別名,用中間表來實現不是對同一表作操作。

如錯誤定法:

UPDATE appbricks_department
SET rank = ‘2’
WHERE parent_id in (SELECT id FROM appbricks_department WHERE parent_id IS NULL) ;
改後的寫法:

UPDATE appbricks_department
SET rank = ‘2’
WHERE parent_id in
(SELECT * FROM (SELECT id FROM appbricks_department WHERE parent_id IS NULL) a );


作者:微風–輕許–
來源:CSDN
原文:https://blog.csdn.net/jiangyu1013/article/details/79108498
版權宣告:本文為博主原創文章,轉載請附上博文連結!