如何使用SQL Select Insert将行从一个表复制到另一个表

时间:2015-01-22 14:24:06

标签: php sql database

嘿,伙计们正试图弄清楚如何从选择查询中复制所有行并插入到另一个表中。

desc wp_rg_lead_detail

我的查询在运行此查询后返回此结果 在wp_rg_lead.id = wp_usermeta.user_id中选择wp_rg_lead.id,wp_rg_lead.created_by,wp_usermeta.meta_key,wp_usermeta.meta_value,来自wp_rg_lead内部联接wp_usermeta的wp_usermeta.user_id,其中wp_usermeta.meta_key ='parents_id'和wp_rg_lead.id = 12; Query result

2 个答案:

答案 0 :(得分:1)

INSERT INTO yourtable (yourcolumns) select * from yourothertable

答案 1 :(得分:1)

如果要选择现有表格,请使用以下格式:

INSERT INTO destination_table
(column1,column2, etc...)
SELECT wp_rg_lead.id, 
           wp_rg_lead.created_by, 
           wp_usermeta.meta_key,
           wp_usermeta.meta_value, 
           wp_usermeta.user_id 
    FROM wp_rg_lead 
    inner join wp_usermeta on wp_rg_lead.id = wp_usermeta.user_id 
    WHERE wp_usermeta.meta_key = 'parents_id' and wp_rg_lead.id = 12;

或者,如果您想将它们选择到一个全新的表格中,您可以使用此格式来创建表格,然后插入值:

SELECT wp_rg_lead.id, 
               wp_rg_lead.created_by, 
               wp_usermeta.meta_key,
               wp_usermeta.meta_value, 
               wp_usermeta.user_id
        INTO destination_table 
        FROM wp_rg_lead 
        inner join wp_usermeta on wp_rg_lead.id = wp_usermeta.user_id 
        WHERE wp_usermeta.meta_key = 'parents_id' and wp_rg_lead.id = 12;

在任一查询中,您都需要将destination_table更改为新的表名。在第一个查询中,您还需要提供列名。