【问题标题】:How can i use SQL Select Insert to copy rows from one table to another我如何使用 SQL Select Insert 将行从一个表复制到另一个表
【发布时间】:2015-01-22 14:24:06
【问题描述】:

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

我的查询在运行此查询后返回此结果 选择 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 其中 wp_usermeta.meta_key = 'parents_id =' 和。 12;

【问题讨论】:

    标签: php sql database


    【解决方案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 更改为新的表名。在第一个查询中,您还需要提供列名。

    【讨论】:

    • 是 column1 列的名称,或者它是要插入到目标表中的值
    • 目标表中的列名。它们必须与您从 select 语句中获得的数据的顺序相同。
    • 希尔顿感谢它的工作:) 你为我节省了很多时间
    • 没问题...我希望我的姓是希尔顿 ;)
    【解决方案2】:
    INSERT INTO yourtable (yourcolumns) select * from yourothertable
    

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多