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

使用INSERT SELECT带SUM聚合插入数据时MariaDB报错,求排查

语法错误排查与修正

错误原因:

  • 多余的VALUES关键字:使用INSERT INTO ... SELECT语法插入查询结果时,不需要添加VALUES,直接衔接SELECT语句即可,额外的VALUES会破坏语法结构,导致解析错误。
  • 字段后的冗余逗号:SUM(o.product_qty)末尾多了一个逗号,数据库解析时会误认为还有后续字段,进而触发语法报错。

修正后的SQL语句:

INSERT INTO OrderProductStock (product_id, shop_id, product_qty)
SELECT  o.product_id, o.shop_id, SUM(o.product_qty)
FROM OrderProduct o  
LEFT JOIN MOrder m ON o.order_id=m.order_id  
LEFT JOIN Product p ON o.product_id=p.product_id  
WHERE m.order_status!=6 
  AND (m.is_online=0 OR (m.is_online=1 AND m.order_status=4)) 
  AND o.shop_id=1 
  AND o.product_id=973 
  AND o.create_date < '2021-06-30 23:59:59'

额外提示:查询中使用了SUM()聚合函数,但未添加GROUP BY子句。如果o.product_id和o.shop_id是唯一组合(对应单条插入记录),当前语句可正常执行;若需按这两个字段分组求和,建议补充GROUP BY o.product_id, o.shop_id,避免因数据库模式差异引发其他问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:45:53