最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql中You can’t specify target table for update in FROM clause錯(cuò)誤解決方法

 更新時(shí)間:2015年02月09日 10:50:43   投稿:junjie  
這篇文章主要介紹了mysql中You can’t specify target table for update in FROM clause錯(cuò)誤解決方法,需要的朋友可以參考下

mysql中You can't specify target table for update in FROM clause錯(cuò)誤的意思是說(shuō),不能先select出同一表中的某些值,再update這個(gè)表(在同一語(yǔ)句中)。 例如下面這個(gè)sql:

復(fù)制代碼 代碼如下:

delete from tbl where id in
(
        select max(id) from tbl a where EXISTS
        (
            select 1 from tbl b where a.tac=b.tac group by tac HAVING count(1)>1
        )
        group by tac
)

改寫(xiě)成下面就行了:

復(fù)制代碼 代碼如下:

delete from tbl where id in
(
    select a.id from
    (
        select max(id) id from tbl a where EXISTS
        (
            select 1 from tbl b where a.tac=b.tac group by tac HAVING count(1)>1
        )
        group by tac
    ) a
)

也就是說(shuō)將select出的結(jié)果再通過(guò)中間表select一遍,這樣就規(guī)避了錯(cuò)誤。注意,這個(gè)問(wèn)題只出現(xiàn)于mysql,mssql和oracle不會(huì)出現(xiàn)此問(wèn)題。

相關(guān)文章

最新評(píng)論

波密县| 璧山县| 浦北县| 沿河| 集贤县| 万盛区| 吴旗县| 中西区| 扎鲁特旗| 鹿邑县| 上虞市| 讷河市| 泸溪县| 垦利县| 宁夏| 昌图县| 营口市| 咸阳市| 新津县| 汕头市| 大同县| 临漳县| 金昌市| 柳州市| 新沂市| 彭阳县| 宝兴县| 乐平市| 墨竹工卡县| 息烽县| 定南县| 湛江市| 裕民县| 罗田县| 宽城| 江北区| 庐江县| 图木舒克市| 恩平市| 万山特区| 青州市|