日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

mysql中You can’t specify target table for update in FROM clau_MySQL教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:MySQL查詢和修改auto_increment的方法
本文實(shí)例講述了MySQL查詢和修改auto_increment的方法。分享給大家供大家參考。具體如下: 查詢表名為tableName的auto_increment值: 代碼如下:SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name=tableName; 修改表名為tableName的auto_increment

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

代碼如下:
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
)

 

改寫成下面就行了:

 

代碼如下:
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
)

 

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

分享:MySQL中的if和case語句使用總結(jié)
Mysql的if既可以作為表達(dá)式用,也可在存儲過程中作為流程控制語句使用,如下是做為表達(dá)式使用: IF表達(dá)式 代碼如下: IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 0 and expr1 NULL),則 IF()的返回值為expr2; 否則返回值則為 expr3。IF() 的返回值為數(shù)字值或字符

來源:模板無憂//所屬分類:MySQL教程/更新時間:2015-03-07
相關(guān)MySQL教程