本章概要
通过 COPY 命令从文件中读取数据插入表中。当表中列为 integer 类型,并且文件中对应列为空。
实例
创建测试表 test:
drop table test;
create table test(id int,
"qycp_id" integer DEFAULT NULL)
distributed randomly;
创建测试导入文件 test.txt ,文件内容如下:
1|
2|2
执行插入,及报错信息:
hashdata=# copy test from '/home/gpadmin/test.txt' WITH DELIMITER '|' LOG ERRORS SEGMENT REJECT LIMIT 10 ROWS;
NOTICE: Found 1 data formatting errors (1 or more input rows). Rejected related input data.
COPY 1
修改 test.txt 文件中的空值
1|\N
2|2
执行插入,查看插入结果:
hashdata=# copy test from '/home/gpadmin/test.txt' WITH DELIMITER '|' LOG ERRORS SEGMENT REJECT LIMIT 10 ROWS;
COPY 2
hashdata=# select * from test;
id | qycp_id
----+---------
2 | 2
1 |
(2 rows)
数据成功插入。