美文网首页MYSQL
[MYSQL]update里不能直接使用select

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

作者: _小老虎_ | 来源:发表于2018-12-06 10:17 被阅读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

相关文章

网友评论

    本文标题:[MYSQL]update里不能直接使用select

    本文链接:https://www.haomeiwen.com/subject/pdyncqtx.html