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

如何在PostgreSQL表中执行无值INSERT并返回插入行

实现无需指定列值的插入并返回结果

你的members.tbl_member表结构如下(来自DbDiagram):

table members.tbl_member as U {
  member_id int [pk, increment]
  date_created timestamp [not null, default: `CURRENT_DATE`]
  date_modified timestamp [not null, default: `CURRENT_DATE`]
  date_security timestamp [not null, default: `CURRENT_DATE`]
}

要实现不指定任何时间戳列值的插入并返回插入行,有两种简单的写法:

方法一:使用DEFAULT VALUES

这个语句会让所有列自动使用各自的默认规则(自增主键自动生成,时间戳列用CURRENT_DATE默认值):

INSERT INTO members.tbl_member
DEFAULT VALUES
RETURNING 
     member_id AS MemberID,
     date_created AS DateCreated, 
     date_modified AS DateModified,
     date_security AS DateSecurity;

方法二:显式指定列并使用DEFAULT关键字

如果需要更明确地控制列,可以列出所有列,并用DEFAULT让数据库自动处理每个列的值:

INSERT INTO members.tbl_member (member_id, date_created, date_modified, date_security)
VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT)
RETURNING 
     member_id AS MemberID,
     date_created AS DateCreated, 
     date_modified AS DateModified,
     date_security AS DateSecurity;

两种方式都能满足你的需求,执行后会返回插入的完整行数据,包含自动生成的主键和默认时间戳。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:02:04