多表连接的修改与删除范例

多表修改:
下例会在udata_unit_config的unit_id满足条件后,会一起将udata_unit_config、udata_unit_dimension_drilling、udata_unit_drilling_config三张表的isdel字段,同时修改为1。

UPDATE udata_unit_config AS uuc
LEFT JOIN udata_unit_dimension_drilling AS uudd ON uuc.id = uudd.unit_config_id
LEFT JOIN udata_unit_drilling_config AS uudc ON uudd.id = uudc.drilling_id 
SET uuc.isdel = 1,
uudd.isdel = 1,
uudc.isdel = 1 
WHERE
	uuc.isdel = 0 
	AND uuc.unit_id = #{unitId}

多表删除:
下例会在udata_unit_config的unit_id满足条件后,会一起将udata_unit_config的条目、udata_unit_dimension_drilling连接的条目、udata_unit_drilling_config连接的条目,同时删除。

DELETE uuc,
uudd,
uudc 
FROM
	udata_unit_config AS uuc
	LEFT JOIN udata_unit_dimension_drilling AS uudd ON uuc.id = uudd.unit_config_id
	LEFT JOIN udata_unit_drilling_config AS uudc ON uudd.id = uudc.drilling_id 
WHERE
	uuc.unit_id = #{unitId}

注意,删除的别名问题:

delete from udata_unit_config as uuc where unit_id = '123'; #错误,表起了别名,delete找不到删除目标。
delete uuc from udata_unit_config as uuc where unit_id = '123'; #正确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值