如何修复pgadmin导入CSV到PostgreSQL表时的‘invalid input syntax for integer: "NUM"’错误
解决PostgreSQL COPY导入CSV时的"invalid input syntax for integer"错误
这个错误很典型,问题根源在于你的CSV文件第一行是表头(列名),但你使用的COPY命令没有告诉PostgreSQL要跳过这一行,导致数据库把第一行的"NUM"字符串当成整数类型的NUM列数据来解析,自然就触发了类型转换错误。
直接解决方案:修改COPY命令添加HEADER参数
只需要在你的COPY命令末尾加上HEADER关键字,让PostgreSQL识别并跳过CSV的第一行表头:
copy TICKETS(NUM,KIND,LOCATIONS,PRICE,DATES,CAT) FROM 'C:\tmp\tickets.csv' DELIMITER ',' CSV HEADER;
额外验证步骤
- 确认CSV文件中表头之后的每一行数据,
NUM列的值都是合法的整数(没有字母、特殊字符或不符合要求的空值,除非你的表字段允许空值) - 检查CSV的分隔符确实是逗号,没有混用其他分隔符(比如分号)导致列匹配错位
内容的提问来源于stack exchange,提问作者Giorgos Voukounas
相关产品推荐
相关产品推荐

