首页 > 代码库 > mysql 两个关联表如何更新其中一个表的数据
mysql 两个关联表如何更新其中一个表的数据
今天遇到一个客户的数据更新问题,两个相关联的表,一个主表用于保存单据主要信息,一个副表用于保存单据的明细信息;现在要把主表的其中一个字段的数据更新到副表的一个字段中保存。
假设:
A表是主表,有单号order_id、开单人operator、开单日期oper_date、备注memo等;
B表是副表,有单号order_id、序号id、商品编码code、商品名称name、备注memo等。
A表的备注是有数据的,B表的备注没有数据,现在要把A表的数据更新到B表,并且B表有数据的不能更新了。A表与B表是以单号来关联的。
更新数据的SQL语法如下:
update B,A set B.memo=A.memo
where A.order_id=B.order_id and (B.memo is null or B.memo=‘‘);
create table A( order_id int not null auto_increment, operator varchar(50), oper_date date, memo varchar(50), primary key(order_id));create table B( order_id int not null auto_increment, good_id int, good_code int, good_name varchar(50), memo varchar(50), primary key (order_id));insert into A values (1,‘onion2‘,now(),‘测试1‘),(2,‘onion2‘,now(),‘测试2‘),(3,‘onion3‘,now(),‘测试3‘);insert into B values(1,1,0001,‘good1‘,‘已经备注‘);insert into B (order_id,good_id,good_code,good_name) values (2,2,0002,‘good2‘),(3,3,0003,‘good3‘);update B,A set B.memo=A.memowhere A.order_id=B.order_id and (B.memo is null or B.memo=‘‘);
mysql 两个关联表如何更新其中一个表的数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。