【问题标题】:MySQL INSERT INTO … VALUE and SELECT with with several fieldsMySQL INSERT INTO ... VALUE 和 SELECT 有几个字段
【发布时间】:2018-12-27 10:53:55
【问题描述】:

我需要做以下事情:

INSERT INTO table1 (field1,field2,field3,field4,field5) VALUES ("customvalue1",SELECT field2,field3,field4,field5 FROM table2 WHERE condition=true)

有办法吗?最好的方法是什么?

【问题讨论】:

    标签: mysql sql mariadb


    【解决方案1】:

    您可以使用select 语句定义常量值:

    INSERT INTO table1 (field1,field2,field3,field4,field5) 
       SELECT "customvalue1", field2, field3, field4, field5 
       FROM table2 
       WHERE condition=true;
    

    【讨论】:

      【解决方案2】:

      这称为根据条件从一个表插入数据到另一个表

      create table table1
      (id int,
      name varchar(100)
      )
      ;
      create table table2
      (id int,
       name varchar(100),
       salary double(10,2)
      )
      ;
      insert into table1 values(1,'A'),(2,'B'),(3,'C');
      
      insert into table2(id,name,salary) 
      select id,name,6000 from table1 where table1.name='A'
      

      http://sqlfiddle.com/#!9/8b30fb/1

      【讨论】:

        【解决方案3】:

        我觉得对你有帮助

          INSERT INTO firsttable (field1,field2,field3,field4,field5) 
           SELECT "customvalue1", field2, field3, field4, field5 
           FROM secondtable
           WHERE condition;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-12
          • 2017-11-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-11
          相关资源
          最近更新 更多