首页  >  文章  >  数据库  >  如何在 MySQL 中使用子查询向表中插入多行?

如何在 MySQL 中使用子查询向表中插入多行?

DDD
DDD原创
2024-11-01 03:17:02453浏览

How Can I Insert Multiple Rows into a Table Using a Subquery in MySQL?

在 MySQL 中使用子查询插入多行

您正在寻找一种解决方案,用子查询返回的多行填充表。您提供的示例查询尝试使用嵌套 VALUES 子句来实现此目的,但由于子查询返回多行,因此会导致错误。

解决错误

要解决此问题,您需要避免在 VALUES 子句中嵌套子查询。相反,使用以下方法将子查询与名称的静态值结合起来:

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

此查询将返回多行,其中包含子查询中的 id 与名称列的静态字符串“Henry”相结合.

说明

通过在 SELECT 子句中组合子查询和静态值,您可以有效地为子查询返回的每一行创建一行。这允许 INSERT 语句成功地将这些行添加到结果表中。

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

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