我正在从txt文件导入数据这是表
CREATE TABLE test.geonames_load(geonameid INTEGER PRIMARY KEY,
name VARCHAR(200),
asciiname VARCHAR(200),
alternatenames VARCHAR,
latitude FLOAT8,
longitude FLOAT8,
feature_class char(1),
feature_code VARCHAR(10),
country_code VARCHAR(2),
cc2 VARCHAR(60),
admin1 VARCHAR(20),
admin2 VARCHAR(80),
admin3 VARCHAR(20),
admin4 VARCHAR(20),
population INTEGER,
elevation INTEGER,
dem INTEGER,
timezone VARCHAR(40),
modification VARCHAR(18)
);
Run Code Online (Sandbox Code Playgroud)
我尝试从txt文件复制后
COPY test.geonames_load FROM 'C:Program Files/PostgreSQL/8.4/data/US/US.txt' WITH (
FORMAT csv,
DELIMITER E'\t',
QUOTE '*',
HEADER false,
ENCODING 'UTF8'
);
Run Code Online (Sandbox Code Playgroud)
但它显示了一个错误
ERROR: syntax error at or near "("
LINE 1: ... FROM 'C:Program Files/PostgreSQL/8.4/data/US/US.txt' WITH (
^
********** Error **********
ERROR: syntax error at or near "("
SQL State: 42601
Character: 83
与 8.4 相比,9.0 版本的语法COPY发生了很大变化
假设您使用的是版本 8.4,基于此.../PostgreSQL/8.4/...路径,适用的语法记录在此处:
http://www.postgresql.org/docs/8.4/static/sql-copy.html
WITH并且9.0中出现的关键字后面不允许有任何括号, ENCODING9.1中出现的选项也不允许
看起来您需要将该语句调整为您的 PostgreSQL 的确切版本。
| 归档时间: |
|
| 查看次数: |
11049 次 |
| 最近记录: |