假设我有一个选择
SELECT DISTINCT id, customer_id, domain FROM config WHERE type = 'foo';
这将返回一些记录。
如何在结果集中执行insert for reach row,如
INSERT INTO config (id, customer_id, domain) VALUES (@id, @customer_id, 'www.example.com');
其中@id
和@customer_id
是结果集中的行的字段?
编辑:我不想只是复制它,而是在字段domain
中插入一个新值。尽管如此,一个facepalm的情况,因为它是简单的;-)谢谢!
发布于 2011-03-09 22:55:24
就像这样简单:
INSERT INTO config (id, customer_id, domain)
SELECT DISTINCT id, customer_id, domain FROM config;
如果你想要"www.example.com
“作为域名,你可以这样做:
INSERT INTO config (id, customer_id, domain)
SELECT DISTINCT id, customer_id, 'www.example.com' FROM config;
发布于 2011-03-09 22:58:30
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;
发布于 2011-03-09 22:56:05
INSERT INTO Config (id, customer_id, domain)
SELECT DISTINCT id, customer_id, 'www.example.com' FROM config
此语法的MySQL文档如下所示:
https://stackoverflow.com/questions/5247530
复制相似问题