Sql 将数据导入表pgADMIN时无法识别VARCHAR变量
我在pgAdmin4中使用以下语句创建了一个表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
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
命令本身中指定列顺序。当您在时,我会将时间戳
字段名更改为与类型名不匹配的内容。这将避免你以后的困惑。