MySql实现多表更新
Mysql实现多表更新的几种不同方法:
1)update table1 t1, table2 t2 set…的方式:
update table1 t1, table2 t2
set t1.order_price = t1.order_price * 0.8, t2.order_num = 0
where t1.order_id= t2.order_id
and t1.create_date < '2017-08-20';
table1、table2两张表关联,更新了table1中的price字段、table2表中的num字段。
2)update table1 t1 inner join table2 t2 on … set…的方式:
update table1 t1
inner join table2 t2 on t1.order_id= t2.order_id
set t1.order_status = 4, t1.updated_at= now()
where t2.create_date < '2017-08-20';
table1、table2两张表关联,更新了table1中的order_status 字段、updated_at字段。
3)update table1 t1 left join table2 t2 on … set…的方式:
update table t1
left join table2 t2 on t1.order_id = t2.order_id
set t1.account_status = 1, t2.updated_at = now()
where t1.record_id = '1';
table1、table2两张表关联,更新了table1表中的account_status字段、table2表中的updated_at字段。