MySQL INSERT INTO … VALUES和SELECT

有没有办法插入从select查询中获得的预设值和值? 例如:

INSERT INTO table1 VALUES ("A string", 5, [int]). 

我有“一个string”和数字5的值,但我必须从这样的select中find[int]值:

 SELECT idTable2 FROM table2 WHERE ... 

这给了我这个ID放在table1里面。

如何合并成一个声明?

使用insert ... select查询,并将已知的值放在select

 insert into table1 select 'A string', 5, idTable2 from table2 where ... 

只需使用子查询就好了:

 INSERT INTO table1 VALUES ("A string", 5, (SELECT ...)). 
 
插入到table_name1中
             (ID,
             名称,
             地址,
             联系电话) 
 SELECT id,name,address,contact_number FROM table_name2;   

尝试这个

 INSERT INTO TABLE1 (COL1 , COL2,COL3) values ('A STRING' , 5 , (select idTable2 from Table2) ) where ... 

所有其他的答案解决了这个问题,我的答案和其他答案一样,但只是更有说服力的方式(这在MySQL上工作…不知道其他SQL服务器):

 INSERT INTO table1 SET stringColumn = 'A String', numericColumn = 5, selectColumn = (SELECT idTable2 FROM table2 WHERE ...); 

您可以参考MySQL文档: INSERT语法

 INSERT INTO table1 SELECT "A string", 5, idTable2 FROM table2 WHERE ... 

请参阅: http : //dev.mysql.com/doc/refman/5.6/en/insert-select.html

 INSERT INTO table1 (col1, col2) SELECT "a string", 5, TheNameOfTheFieldInTable2 FROM table2 where ... 

尝试以下操作:

 INSERT INTO table1 SELECT 'A string', 5, idTable2 idTable2 FROM table2 WHERE ... 

尝试这个:

 INSERT INTO table1 SELECT "A string", 5, idTable2 FROM table2 WHERE ...