MySQL 从一张表update字段到另外一张表中
先来几个简单的示例
Solution1: 1列
updatestudents,cityc sets.city_name=c.name wheres.city_code=c.code;
Solution2: 多个列
updatea,b seta.title=b.title,a.name=b.name wherea.id=b.id
Solution3:子查询
updatestudentssetcity_name=(selectnamefromcitywherecode=s.city_code);
我们再来看几个负责写的
例如:把表tk_zyt_scenery_order的字段更新到t_advs_order中去,一般可能会这样写:
UPDATEt_advs_orderSET attribute1=(SELECTo.order_stateFROMtk_zyt_scenery_orderoWHEREo.order_id=`on`), attribute2=(SELECTo.order_stateFROMtk_zyt_scenery_orderoWHEREo.order_id=`on`) WHEREEXISTS(SELECTo.order_stateFROMtk_zyt_scenery_orderoWHEREo.order_id=`on`);
这样效率比较低下,优化写法:
UPDATEt_advs_orderaINNERJOINtk_zyt_scenery_ordersONs.order_id=a.`on`SET a.attribute1=s.order_id, a.attribute2=s.order_id;
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下