1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql取出另外一张表的数据_mysql从一张表中取出数据插入到另一张表

mysql取出另外一张表的数据_mysql从一张表中取出数据插入到另一张表

时间:2020-02-24 21:47:13

相关推荐

mysql取出另外一张表的数据_mysql从一张表中取出数据插入到另一张表

最近有这样一个需求,原来的订单表wp_order设计不合理,原来的订单表没有订单详表,只有一张主表。现在是要重构订单表,分为订单主表wp_order_master和订单详表wp_order_detail,需要把原来的wp_order中的数据拆分后插入这两张表。

我这里总结有3种mysql插入语句方式,分别是:

以下表1为目标表,表2为原表

表结构一样

insert into 表1select * from 表2

这个方式说白了就跟复制一样,要求2张表的所有字段一致,否则报错。

表结构不一样

insert into 表1 (列名1,列名2,列名3) select 列1,列2,列3 from 表2

这种也不能说是表结构不一样,其实就是有选择性的从表2取出数据对应表1字段插入。

只从另外一个表取部分字段

insert into 表1 (列名1,列名2,列名3) values(列1,列2,(select 列3 from 表2));

这种方式适用的情况是,在从表2取出部分字段数据的同时,表1有新的字段也需要数据,相当于第2种方式的升级版。

我这里采用第2种方式:

INSERT INTO wp_order_master (id,order_number,order_code,uid,cTime,pay_time,total_price,is_pay,

alipay_price,wechat_price,balance_price,cash_price,union_price,active_id,active_price,coupon_id,coupon_price,

integral_num,integral_price,erase_price,use_packet_id,order_from) SELECT id,order_number,order_code,uid,cTime,pay_time,total_price,is_pay,

alipay_price,wechat_price,balance_price,cash_price,union_price,active_id,active_price,coupon_id,coupon_price,

integral_num,integral_price,erase_price,use_packet_id,order_from FROM wp_order WHERE id BETWEEN 10 AND 20;

里面因为测试,select的where后面加了条件。

这里也把原order表的id插入了order_master,作为主键更新order_detail表。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。