MySQL INSERT INTO ... VALUES and SELECT

TheEnigmist picture TheEnigmist · Mar 20, 2013 · Viewed 163.8k times · Source

Is there a way to insert pre-set values and values I get from a select-query? For example:

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

I have the value of "A string" and the number 5, but I've to find the [int] value from a select like this:

SELECT idTable2
FROM table2
WHERE ...

that gives me that id to put inside table1.

How to merge this into one statement?

Answer

Guffa picture Guffa · Mar 20, 2013

Use an insert ... select query, and put the known values in the select:

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