MySQL: How to insert a record for each result in a SQL query? MySQL: How to insert a record for each result in a SQL query? sql sql

MySQL: How to insert a record for each result in a SQL query?


As simple as this :

INSERT INTO config (id, customer_id, domain) SELECT DISTINCT id, customer_id, domain FROM config;

If you want "www.example.com" as the domain, you can do :

INSERT INTO config (id, customer_id, domain) SELECT DISTINCT id, customer_id, 'www.example.com' FROM config;


INSERT INTO config (id, customer_id, domain)SELECT id, customer_id, 'www.example.com' FROM (  SELECT DISTINCT id, customer_id, domain FROM config  WHERE type = 'foo') x;


INSERT INTO Config (id, customer_id, domain)SELECT DISTINCT id, customer_id, 'www.example.com' FROM config

The MySQL documentation for this syntax is here:

http://dev.mysql.com/doc/refman/5.1/en/insert-select.html