MYSQL

[MYSQL]update里不能直接使用select

2018-12-06  本文已影响16人  _小老虎_

在sql server中,我们可是使用以下update语句对表进行更新:

update a set a.xx= (select yy from b) ;

但是在mysql中,不能直接使用set select的结果,必须使用inner join:

update a inner join (select yy from b) c set a.xx = c.yy

例如:

UPDATE t_a 
INNER JOIN (
SELECT count(*) AS number FROM t_a WHERE url='www.baidu.com' AND k_3=2
) AS tmp_web
SET k_1=0,k_2='',
k_3=(CASE 
WHEN k_3 in (1,2,4) AND k_4!='' AND tmp_web.number < 1 THEN 2 
ELSE k_3 
END) 
WHERE id=604
上一篇下一篇

猜你喜欢

热点阅读