mysql根据查询条件去修改另一张表
需求1:查询条件是表A 修改的是表A (单表)
需求2:查询条件是表A 修改的是表B 把表A中的值复制给表B (多表)
在mysql中是不允许先select 后update的,所以这里给出的方案是创建中间表
具体看如下代码:
update 表B set status = 0 where fid =
(
select a.fid from
(
select * from 表B a where EXISTS
(
select * from 表B
)
) a where a.status = 1 order by a.fid LIMIT 1
);
以上是单表操作,如果是多表就在需求2
多表的修改:
update 表A ew,表B sb set ew.accountName = sb.operator_name以上是吧表表B中operate_name值复制给表A中accountName
where ew.shop_id = sb.id