使用子查询将值插入到表中
使用具有多个结果的子查询将值插入到表中可能具有挑战性。考虑这样的场景:您有两个表,文章和价格,并且您希望根据从文章获取的特定 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中文网其他相关文章!