Sql 将数据导入表pgADMIN时无法识别VARCHAR变量

Sql 将数据导入表pgADMIN时无法识别VARCHAR变量,sql,postgresql,pgadmin,pgadmin-4,Sql,Postgresql,Pgadmin,Pgadmin 4,我在pgAdmin4中使用以下语句创建了一个表 create table web_data( timestamp TIMESTAMP WITHOUT TIME ZONE, device_type VARCHAR(50), session_id VARCHAR(100), customer_id VARCHAR(150), url VARCHAR(100), purchase_id VARCHAR(100) ); 结果如下表所示 导入CS

我在pgAdmin4中使用以下语句创建了一个表

create table web_data(
    timestamp TIMESTAMP WITHOUT TIME ZONE,
    device_type VARCHAR(50),
    session_id VARCHAR(100),
    customer_id VARCHAR(150),
    url VARCHAR(100),
    purchase_id VARCHAR(100)
    );
结果如下表所示

导入CSV文件时,返回一个错误1,指出customer_id列中的时间戳无效,但此列中没有给出时间戳。完全错误是:

ERROR:  time zone "f3285a42f7199" not recognized
CONTEXT:  COPY web_data, line 2, column datum: "122048f3285a42f7199"
似乎122048被标识为一个时间戳,f3285a42f7199被标识为一个时区,而实际上这只是一个识别客户的长字符串


如何调整表以便插入完整的表。

您需要确定数据中的哪些列映射到表中的哪些列。某些内容已关闭。根据@GordonLinoff,您需要使CSV文件中的列顺序与表中的列顺序匹配。根据,在CSV文件中重新排序或在
COPY
命令本身中指定列顺序。当您在时,我会将
时间戳
字段名更改为与类型名不匹配的内容。这将避免你以后的困惑。