【问题标题】:Invalid input syntax for type bigint: in postgresql timescaledbbigint 类型的输入语法无效:在 postgresql timescaledb 中
【发布时间】:2021-02-08 23:20:45
【问题描述】:

我想将数据从名为 TruckFleet_TruckCyclesQualityMatId.csv 的 csv 文件传输到 timescaledb。

我的数据库的名称是 cycles,表的名称是 cycles_table

我的表的详细视图如下:

当我尝试将 csv 文件中的数据插入此表时,我得到了

错误:bigint 类型的输入语法无效:»HAUL_CYCLE_REC_IDENT« 上下文:复制周期表,第 1 行,列 HAUL_CYCLE_REC_IDENT:»HAUL_CYCLE_REC_IDENT«

csv文件中的HAUL_CYCLE_REC_IDENT列如下:-

表的列 HAUL_CYCLE_REC_IDENT 数据类型有什么问题?

【问题讨论】:

    标签: postgresql csv psql bigint timescaledb


    【解决方案1】:

    CSV 的第一行包含标题,因此您必须指示 copy 忽略它。

    使用旧语法 (CSV 之后添加 HEADER,尽管您可能想要移动到当前语法 (... WITH (FORMAT CSV, HEADER TRUE))。

    在您的情况下,\copy 命令可能看起来像

    psql -U postgres -d cycles -c "\COPY cycles_table FROM C:\Users\DEGEJOS\Downloads\TruckFleet_TruckCyclesQualityMatId.csv WITH (FORMAT CSV, HEADER)" ```
    

    【讨论】:

    • 我忽略了 CSV 文件的标题。但是在提到的命令中有更正。有一个语法错误。以下命令是正确的。 psql -U postgres -d cycles -c "\COPY cycles_table FROM C:\Users\DEGEJOS\Downloads\TruckFleet_TruckCyclesQualityMatId.csv WITH (FORMAT CSV, HEADER)"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    • 2020-02-29
    • 2021-09-21
    • 1970-01-01
    • 2020-10-01
    • 2021-11-04
    • 2023-01-15
    相关资源
    最近更新 更多