MySQL有无更新条件满足跨表查询的?

sbdx 2010-12-18 08:15:19
谁知道MYSQL有没有类似多表查询的、但是是实现update的功能?
比如:
Table A
商品,商铺ID,货物名称.....
1 ,1,xxxx
2,3,zzzzz

Table B
id,商品ID,价格,....
1,1,100
2,1,200

我要实现

update [B] set 价格=12345 where B.商品ID=A.商品ID and A.商铺ID=5 and B.商品ID=1

请问如何写SQL?

新人分不多。。。
...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbdx 2010-12-18
  • 打赏
  • 举报
回复
感谢2楼,一直以为联合查询只有SELECT才用到,原来还可以这样用啊,谢谢,又学到一招。

查了手册,发现还有一种方法,写出来,方便别人。

以下基于ECMALL的系统。
[ecm_goods]
goods_id store_id

[ecm_goods_spec]
spec_id goods_id price stock

第一种:
update ecm_goods_spec,ecm_goods set ecm_goods_spec.price=12345
where ecm_goods.store_id=2 and ecm_goods_spec.goods_id=1 and ecm_goods_spec.goods_id=ecm_goods.goods_id

第二种:
UPDATE ecm_goods_spec INNER JOIN ecm_goods ON ecm_goods.goods_id = ecm_goods_spec.goods_id SET ecm_goods_spec.price =12345 WHERE ecm_goods.store_id =2 AND ecm_goods_spec.goods_id =1

另请大家说说那种效率高一点,谢谢。
ACMAIN_CHM 2010-12-18
  • 打赏
  • 举报
回复
update b inner join a on B.商品ID=A.商品ID
set b.价格=12345
where A.商铺ID=5 and B.商品ID=1

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧