mysql 批量修改,多条件多值的写法

本文介绍了一种特殊场景下的数据库批量修改方法,即根据不同的条件对数据进行逐条绑定和更新。通过开启事务,使用子查询匹配品牌ID,并在UPDATE语句中结合WHERE子句的IN查询,实现对多个满足条件的数据进行同步修改。这种方法适用于处理需要复杂逻辑判断的批量更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般的批量修改,都是同一个 where 条件,然后批量修改一批同条件的数据,但是有时候会遇到一种需要根据不同条件,批量修改的操作

具体可以大概参考如下写法:

where 修改条件使用 in 查询多条,在 set 里面利用 w 的属性值再做每条数据的绑定


start transaction; -- 开始事务


UPDATE bpm_product_info w 
SET w.brand_id = ( SELECT b.id FROM bpm_product_brand_info b WHERE b.brand_name = w.brand_name ) 
WHERE
	w.brand_name IN (
	SELECT
		q.brand_name 
	FROM
		( SELECT brand_name FROM bpm_product_brand_info WHERE brand_name IN ( SELECT brand_name FROM bpm_product_info WHERE brand_id IS NULL GROUP BY brand_name ) ) q 
	)


rollback; -- 回滚或者 commit; 提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值