首页 > 数据库 > mysql教程 > 如何使用子查询正确地将多个值插入表中?

如何使用子查询正确地将多个值插入表中?

Susan Sarandon
发布: 2025-01-05 20:11:44
原创
374 人浏览过

How to Correctly Insert Multiple Values into a Table Using a Subquery?

使用子查询将值插入到表中

使用具有多个结果的子查询将值插入到表中可能具有挑战性。考虑这样的场景:您有两个表,文章和价格,并且您希望根据从文章获取的特定 ID 将条目插入到价格中。

一种经常导致 SQL 错误的常见方法是使用VALUES 子句中的子查询:

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
登录后复制

此查询将导致错误,因为子查询返回多个结果。

正确的做法就是在INSERT查询中使用select语句,对常量字段进行硬编码:

insert into prices (group, id, price)
select 
    7, articleId, 1.50
from article where name like 'ABC%';
登录后复制

通过将常量字段与子查询分离,可以保证子查询的每个结果只插入一行。

以上是如何使用子查询正确地将多个值插入表中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板