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

PostgreSQL插入数据报错:VARCHAR字段触发numeric类型输入语法无效

问题解决方法

你的问题核心是实际数据库中的car表price字段类型并非VARCHAR,而是NUMERIC(或同类数值类型)。你虽然编写了CREATE TABLE语句,但大概率未成功执行以覆盖原有表结构,导致插入带$的字符串时触发数值类型校验错误。

解决步骤:

  • 先确认当前表的真实结构,执行命令:
\d car;

该命令会展示表的所有字段类型,可直观确认price字段的实际类型。

  • 若price确实为数值类型,直接修改字段类型:
ALTER TABLE car ALTER COLUMN price TYPE VARCHAR(50);

如果表内无重要数据,也可删除原表重新创建:

DROP TABLE IF EXISTS car;
CREATE TABLE car (
    id INT,
    make VARCHAR(50),
    model VARCHAR(50),
    price VARCHAR(50)
);
  • 最后重新执行插入语句即可:
INSERT INTO car (id, make, model, price) VALUES (1000, 'Porsche', '911', '$92813.83');

补充提示:如果后续需要对价格做数值运算,不建议将其存为VARCHAR类型,应改用NUMERIC类型,插入时去掉$符号(如92813.83),展示时再按需添加$符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:45:55