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

PostgreSQL DATE类型默认值设置及INSERT报错解决

问题解决:PostgreSQL DATE类型默认值使用及INSERT报错处理

你的表结构中update_date的默认值设置是正确的,CURRENT_DATE确实只返回日期(无时间戳),报错的根源是INSERT语句的列列表和VALUES值的数量不匹配:你写的语句里列列表包含了update_date,但VALUES只提供了两个值,PostgreSQL自然会提示"目标列比表达式多"。

正确的两种写法:

  1. 省略update_date列,让数据库自动应用默认值:
INSERT INTO clients_steps (client_id, step_id)
VALUES (1, 1);
  1. 显式指定使用默认值:
    如果一定要在列列表里写update_date,可以用DEFAULT关键字代替具体值:
INSERT INTO clients_steps (client_id, step_id, update_date)
VALUES (1, 1, DEFAULT);

验证默认值类型

CURRENT_DATE返回的是纯DATE类型,你可以通过以下语句确认:

SELECT CURRENT_DATE;

结果只会是YYYY-MM-DD格式,没有时间部分,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:15:37