mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法
生活随笔
收集整理的這篇文章主要介紹了
mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這個(gè)錯(cuò)誤實(shí)際上也不能稱之為咱們sql語(yǔ)句寫的不行,實(shí)際上是我們?cè)谝恍┘?xì)節(jié)上沒有遵循mysql的語(yǔ)法規(guī)范。
問題所在:我們一個(gè)sql語(yǔ)句中先select這個(gè)表,然后再update這個(gè)表的內(nèi)容。
錯(cuò)誤示范:
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') ) ) ;正確示范:?我們應(yīng)該可以把從這個(gè)表中select到的數(shù)據(jù)當(dāng)作一個(gè)新表,在使用一下select語(yǔ)句進(jìn)行一下查詢,如下面這樣:
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中遇到過這個(gè)問題,所以有什么學(xué)習(xí)問題,歡迎同學(xué)們?cè)谠u(píng)論區(qū)留言討論。?
?
?
總結(jié)
以上是生活随笔為你收集整理的mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT求职指南
- 下一篇: STM32F103ZET6程序移植为C8