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

PostgreSQL仅含自增ID的表插入并返回ID的语法问题

PostgreSQL中仅含自增ID的表使用INSERT RETURNING的报错解决方法

在PostgreSQL中,带RETURNING子句的INSERT语句可以返回插入的结果,示例如下:

INSERT INTO users (firstname, lastname) 
VALUES ('Joe', 'Cool')  
RETURNING id;

执行后输出:

| id |
------
|  1 |

当表仅包含自增ID字段时,执行INSERT INTO my_ids RETURNING id;会报错:

Invalid syntax near RETURNING

这是因为PostgreSQL要求INSERT语句在未指定列列表且无VALUES子句时,语法不合法。针对这类场景,有两种修正方式:

  • 方式一:使用DEFAULT VALUES子句
    明确让数据库使用所有字段的默认值(自增ID的默认值为序列生成的下一个值),语句如下:

    INSERT INTO my_ids DEFAULT VALUES RETURNING id;
    
  • 方式二:显式指定列列表
    即使只有自增ID一个字段,也可显式列出列名并配合DEFAULT使用,语句如下:

    INSERT INTO my_ids (id) VALUES (DEFAULT) RETURNING id;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 00:02:03