pgAdmin 4执行COPY命令报错:ERROR: missing data for column
解决PostgreSQL \copy导入CSV时"missing data for column"错误
这个错误的根源是PostgreSQL将CSV文件的表头行当成了数据行处理。你的文件第一行是"url",仅对应第一个列,后续price等列没有对应数据,因此触发缺失数据报错。
修复步骤
1. 在\copy命令中添加HEADER参数
修改命令,明确告诉PostgreSQL跳过第一行表头:
\copy dbo.a (url, price, title, "ASIN", ratings, index) FROM 'C:/projects/py/WEBSCR~1/csvtest/Book1.txt' DELIMITER ',' HEADER;
注意:原命令里\"ASIN\"的多余反斜杠可以去掉,PostgreSQL中用双引号包裹特殊标识符即可。
2. 额外验证点
- 确认CSV数据行的列顺序和你指定的
(url, price, title, "ASIN", ratings, index)完全匹配,顺序错位会导致数据对应错误。 - 检查数据中是否存在未正确转义的分隔符(比如标题包含逗号但未用引号包裹),这会让PostgreSQL错误识别列数。
内容的提问来源于stack exchange,提问作者Milan
相关产品推荐
相关产品推荐

