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 ...