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

在同一条INSERT语句中组合使用VALUES与SELECT子句报错如何解决

问题修复方案

报错原因

INSERT语句不支持同时使用VALUES子句和SELECT子句定义插入值,你的需求是插入固定的文章内容+上一步插入用户返回的ID,直接把固定值放到SELECT的返回字段列表中即可,不需要单独写VALUES。同时你原代码中存在笔误:CTE别名为insert_user,查询时误写为复数的insert_users。

修改后的可运行代码

WITH insert_user AS (
  INSERT INTO users (user_name) VALUES ('omni')
  RETURNING *
),
insert_articles AS ( 
  INSERT INTO articles (article_text, user_id)
  SELECT 'article text', insert_user.id
  FROM insert_user
  RETURNING *
)
-- 按需补充最终返回逻辑,例如返回插入的文章数据:
SELECT * FROM insert_articles;

扩展说明

  • 如果需要批量插入多条关联记录,可以在SELECT后拼接UNION ALL,每组固定值对应一条SELECT查询
  • 该语法适用于PostgreSQL、PolarDB-PG等支持WITH DML(写操作CTE)的数据库

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 03:33:01