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

PostgreSQL建表使用DECIMAL类型插入数据报numeric field overflow错误

问题诊断与解决方案

结论

你对DECIMAL参数的理解是完全正确的,ERROR: numeric field overflow报错是因为gross_gdp字段的长度定义不足以覆盖你的业务数据取值范围。

字段核对

逐一核对你定义的字段和示例取值的适配性:

  • hdi DECIMAL(4,3):最大支持9.999,示例值0.716符合要求,无问题
  • education_index DECIMAL(4,3):最大支持9.999,示例值0.695符合要求,无问题
  • health_expend_2017 DECIMAL(3,1):最大支持99.9,示例值10.6符合要求,无问题
  • life_expectancy DECIMAL(4,1):最大支持999.9,示例值74.6符合要求,无问题
  • below_poverty_line DECIMAL(3,1):最大支持99.9,示例值32.5符合要求,无问题
  • gender_ineq DECIMAL(4,3):最大支持9.999,示例值0.429符合要求,无问题
  • gdp_per_capita INTEGER:示例值7005符合整数类型取值范围,无问题
  • gross_gdp DECIMAL(5,1):最大支持9999.9,若你的业务数据中存在≥10000.0的gross_gdp取值,就会触发溢出错误

修复方案

调整建表语句中gross_gdp的字段定义即可,示例修改后的建表语句:

CREATE TABLE metrics (
    country TEXT,
    hdi DECIMAL(4,3),
    education_index DECIMAL(4,3),
    health_expend_2017 DECIMAL(3,1),
    life_expectancy DECIMAL(4,1),
    gdp_per_capita INTEGER,
    gross_gdp DECIMAL(6,1),
    below_poverty_line DECIMAL(3,1),
    gender_ineq DECIMAL(4,3)
);

调整后gross_gdp最大可支持99999.9的取值,覆盖绝大多数国家的GDP统计范围,若有更大取值需求可对应调高DECIMAL第一个参数的数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:06:01