首页 >数据库 >mysql教程 >如何将子查询中的多行插入到 MySQL 的表中?

如何将子查询中的多行插入到 MySQL 的表中?

Linda Hamilton
Linda Hamilton原创
2024-10-30 03:50:02559浏览

How to Insert Multiple Rows from Subqueries into Tables in MySQL?

将子查询中的多行插入表中

尝试使用返回多行的子查询将多行插入表中时,您可能会遇到错误 1242 (21000):子查询返回多于 1 行。出现此错误的原因是 MySQL 限制使用单个 INSERT 语句插入多行。

要解决此问题,请采用以下技术:

将要插入的静态行数据与子查询。例如,如果您希望将名称“Henry”插入到子查询返回的每一行的名为“names”的列中,请按如下所示修改查询:

INSERT INTO Results (People, names)
SELECT d.id, 'Henry'
FROM Names f
JOIN People d ON d.id = f.id

在此修改后的查询中,静态值“Henry”与子查询组合。因此,子查询返回的每一行的“names”列都会填充值“Henry”。

以上是如何将子查询中的多行插入到 MySQL 的表中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn