mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法
生活随笔
收集整理的這篇文章主要介紹了
mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個錯誤實際上也不能稱之為咱們sql語句寫的不行,實際上是我們在一些細節上沒有遵循mysql的語法規范。
問題所在:我們一個sql語句中先select這個表,然后再update這個表的內容。
錯誤示范:
UPDATE StuCose SET Grade=60 WHERE Sno IN(SELECT SnoFROM stucose WHERE Grade<=ALL(SELECT MIN(Grade)FROM stucose s2WHERE s2.Cno IN(SELECT CnoFROM coseWHERE Cname='DS') ) ) ;正確示范:?我們應該可以把從這個表中select到的數據當作一個新表,在使用一下select語句進行一下查詢,如下面這樣:
UPDATE StuCose SET Grade=60 WHERE Sno IN(SELECT SnoFROM (SELECT SnoFROM stucose WHERE Grade<=ALL(SELECT MIN(Grade)FROM stucose s2WHERE s2.Cno IN(SELECT CnoFROM coseWHERE Cname='DS') )) AS a) ;eg:目前我只在mysql中遇到過這個問題,所以有什么學習問題,歡迎同學們在評論區留言討論。?
?
?
總結
以上是生活随笔為你收集整理的mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT求职指南
- 下一篇: java毕业生设计在线玩具租赁系统计算机