postgresql数据库 copy命令导入表不成功

出现:ERROR: invalid input syntax for integer: "1"
SQL 状态: 22P02
事件背景:COPY aa_log, line 1, column id: "1"
表格式为:
create table aa_log(
id int8,
callid int8,
calledid int8,
)
命令为:copy aa_log from '/root/data/dsestgroup_back.csv' with delimiter ',';
csv文件类容为:
1,2,3
4,5,6
因为一直尝试不成功,所以用一个简单的表测试,结果还是不成功。比较急,正确回答追加50分。

开始觉得这个导入是个比较简单的事情,经过测试你的这个copy,发现还不简单。

经过尝试,发现在导入时,需要在cvs文件中加入导入字段的定义,即第一行需要有字段名,然后在copy命令中要指定选项header为true. 另外,为了保证成功,还加入format指定为csv, 文件格式指定为utf8。

我的导入命令:

copy aa_log (id, callid, calledid)
from 'e:\t01.csv'
with (format csv, header true, quote '"', DELIMITER ',', encoding 'UTF8');

导入文件内容:

id,callid,calledid
1,2,3
4,5,6

导入结果如下图,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-19
参考:
工具:PostgreSQL客户端pgAdmin。

步骤:

1.将excel表格字段,按照postgresql 数据库中表的字段顺序来整理数据,并保存为csv文件。

2.用记事本打开csv文件,另存为UTF-8格式。

3.使用PgAdmin客户端链接postgresql数据库,执行如下脚本,导入csv文件到PostgreSQL数据表:

copy testdata from 'd:/test/testdata.csv' delimiter as',' csv quote as '"'

注:testdata 是postgreSQL数据库表的名称。
来源:http://blog.csdn.net/namelb/article/details/7909910追问

复制粘贴就免了

相似回答