mysql update 多表实例讲解

mysql update 多表实例讲解

        我们先来看如下实例:

        实例一

        update tab1 set tab1.商品尺寸 = (select tab2.商品尺寸 from tab2 where tab2.商品颜色 = tab1.商品颜色) where tabl1.商品颜色 in (select tab2.商品颜色 from tab2) 

        继续如下实例:

        UPDATE CMS_Document A,CMS_Template B SET A.RuleType2=B.RuleType WHERE A.TemplateID = B.TemplateID


        一个替代的方法可以采用:
        update customers a -- 使用别名 set city_name=nvl((select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id),a.city_name)

        或者

        set city_name=nvl((select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id),'未知')


        MySQL多表更新实例三:

            update contact c, contactdroit cd set c.user_name = '$username', c.nom = '$lastname', c.prenom = '$firstname', c.passcode = '$password', cd.droit_id = '$droitid' where c.contact_id = '$id' and c.contact_id = cd.contact_id;  
            
        mysql关联多表进行update更新操作
            
        UPDATE Track INNER JOIN MV ON Track.trkid=MV.mvid SET Track.is_show=MV.is_show WHERE trkid<6

        等同于

        UPDATE Track,MV SET Track.is_show=MV.is_show WHERE Track.trkid=MV.mvid and trkid<6

        实例四:

        UPDATE product p INNER JOIN productPrice pp ON p.productId = pp.productId SET pp.price = pp.price * 0.8,p.dateUpdate = CURDATE() WHERE p.dateCreated < '2004-01-01'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值