mysql sql 多表更新语句_Mysql跨表更新多表更新sql语句摘要

bd4a2fedcbd78db96b5521f802979cd6.png

MySQL跨表更新一直是每个人都关心的话题. 本文介绍了在实践中编写mysql多表更新的几种不同方法. 需要它的朋友可以参考它.

假设我们有两个表,一个表是用于产品信息的Product表,其中包含产品价格列Price;另一个表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为价格表中价格字段的80%.

在MySQL中,我们有几种方法可以做到这一点mysql 连表 update,一种是更新table1 t1,table2 ts ...:

复制代码,代码如下:

更新产品p,产品价格pp

SET pp.price = pp.price * 0.8

cbb05772ede34d5f1b091ade62bbb002.png

其中p.productId = pp.productId

AND p.dateCreated

另一种方法是使用内部联接,然后更新:

复制代码,代码如下:

更新产品p

内部联接productPrice pp

0107ff94d5032b300476b0b30bfd7740.png

打开p.productId = pp.productId

SET pp.price = pp.price * 0.8

p.dateCreated

此外,我们可以使用左外部联接进行多表更新. 例如,如果ProductPrice表中没有产品价格记录,则将Product表的isDeleted字段设置为1,如下所示:

复制代码,代码如下:

更新产品p

watermark,image_eXVuY2VzaGk=,t_100

左联接productPrice pp

打开p.productId = pp.productId

SET p.deleted = 1

其中pp.productId为null

此外,以上示例在两个表之间相关,但是仅更新一个表中的记录mysql 连表 update,实际上,您可以同时更新两个表,如下所示: sql:

复制代码,代码如下:

9a3b172b6ccfad91a2c2b8188b54e830.png

更新产品p

内部联接productPrice pp

打开p.productId = pp.productId

SET pp.price = pp.price * 0.8,

p.dateUpdate = CURDATE()

p.dateCreated

这两个表相关,并且ProductPrice表的price字段和Product表的dateUpdate字段已更新.

本文标题: mysql跨表更新多表更新sql语句摘要

本文地址:

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-148709-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值