You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

INSERT嵌套子查询返回多行报错,如何批量插入带固定常量的多行列

解决方法

你当前的报错是因为VALUES子句中嵌套的子查询属于标量子查询,SQL语法强制要求这类子查询最多只能返回1行结果,一旦返回多行就会触发你遇到的报错。

要实现子查询返回多少行就插入多少行、同时固定其他字段值的需求,直接改用INSERT INTO ... SELECT语法即可,不需要搭配VALUES关键字,把固定常量直接写到SELECT的字段列表中就行:

INSERT INTO tab3(a,b,c,d,e)
SELECT 
  1,
  tab2.a,
  'somting1',
  'somting2',
  'somting3'
FROM tab2 
LEFT JOIN tab1 ON tab1.a = tab2.a 
WHERE tab2.b = 'x';

说明

  • 这条语句会直接将tab2和tab1关联查询出的所有符合tab2.b='x'的结果插入tab3,每行的a、c、d、e字段都会固定使用你设置的常量值
  • 如果查询结果为空,不会插入任何数据,和你原有写法的默认行为一致

内容的提问来源于stack exchange,提问作者Eran Erocam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:09:03