MySQL:如何在 SQL 查询中为每个结果插入一条记录?

标签 mysql sql loops insert

假设我有一个选择

SELECT DISTINCT id, customer_id, domain FROM config WHERE type = 'foo';

返回一些记录。

如何在结果集中插入到达行,例如

INSERT INTO config (id, customer_id, domain) VALUES (@id, @customer_id, 'www.example.com');

其中@id@customer_id是结果集中该行的字段?

编辑:我不想只是复制它,而是在字段 domain 中插入一个新值。尽管如此,还是很容易面对手掌的情况 ;-) 谢谢!

最佳答案

就这么简单:

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;

关于MySQL:如何在 SQL 查询中为每个结果插入一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5247530/

相关文章:

java - 如何防止 MySQL 中的四舍五入时间戳

sql - 需要帮助调整 sql 查询

javascript - 重复功能直到完成?

mysql - 循环MySQL向表中插入数据

C for 循环与 rolled out 循环有不同的效果

c - 如何在C中打印出字符串的单个字符

mysql 选择字段的过滤计数以及表中同一字段的总行数

php - 困境,在没有其他信息已知的情况下搜索散列字段

mysql - Mysql中2个字符之间的不同路径

MySQL:选择特定日期之前的最近日期