今天尝试导入Excel表格,遇到了一些问题,现将导入步骤以及问题总结如下:
一、导入步骤:
1.在数据库中新建表格,字段与Excel顺序相同(或者有多余字段在最后);
2.处理Excel表格,先将Excel表格另存为csv文件,再将csv文件用记事本打开,另存为编码为UTF-8格式的csv文件。csv文件要带字段名。
3.导入。在PgAdmin客户端中,点击工具栏“执行任意的SQL查询”按钮(有SQL字样的那个按钮),输入:
copy student(字段1,字段2,字段3)
from 'd:/student.csv'
with (format csv,header true,quote '"',DELIMITER ',',encoding
'UTF_8');
4.成功后,返回结果为: 查询成功: 共计 XXX 行受到影响,耗时: 46 毫秒(ms)。
二、遇到的问题:
1.ERROR: invalid byte sequence for encoding
"UTF8": 0xcdf5
没有将文件以UTF-8格式另存为csv文件
2.ERROR: out of range for type
integer postgres
有字段类型为integer时,数据的长度过长报错,比如:1234567891
我的办法是改为字符型character varying,能够快速解决,
也有的办法说改成bigint,我的数据是上面那种10位的数字,试过不行,各位如有其他办法,欢迎留言。