mysql查詢后修改數據庫操作的“正確打開方式”


業務:刪除傳感器表t_eom_sensor 時從報警記錄表t_eom_devicewarnrecord中也刪除產生的記錄。

oracle數據庫執行沒問題:

mysql數據庫執行情況:報錯: You can't specify target table ‘f_student' for update in FROM clause

意思很顯而易見了,說不能對進行查詢操作的表進行delete操作,也就說我們的where條件中進行了子查詢,並且子查詢也是針對需要進行DML操作的表的,mysql不支持這種查詢修改的方式。

上面的sql相比於之前的sql只是在取id的時候繞了一下,通過一個子查詢的方式獲取到id,而不是直接進行獲取。


免責聲明!

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



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