好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mysqlupdateselect - mysql数据库栏目 - 自学php

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

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

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

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

示例代码:

多表连接更新

UPDATE spgl_goods a INNER JOIN( SELECT g.`ID` AS id FROM rkgl_goods_repertory gr, rkgl_repertory r, spgl_goods g WHERE 1=1 AND gr.`REPERTORY_ID`=r.`ID` AND gr.`GOODS_ID`=g.`ID` AND g.`IS_DELETE`=FALSE AND r.`USER_ID`=36 GROUP BY gr.`GOODS_ID` ) b ON a.`ID`=b.id SET a.`IS_DELETE`=TRUE;

查看更多关于mysqlupdateselect - mysql数据库栏目 - 自学php的详细内容...

  阅读:47次