我有几个文本文件,希望将它们的内容导入到一个表中。每个文件都必须作为表中的记录导入(仅在一个字段中(。为此,我创建了以下代码:
create table my_table ("content" text);
copy my_table from '/Users/julio/Desktop/my_file.txt';
我希望文本在表中的位置与文件中的位置完全一样,包括空格、制表符和换行符。
然而,当我运行上面的命令时,我得到了错误:
错误:最后一个预期列后的额外数据
我意识到有问题的错误是因为标签。
有没有办法逃脱这些角色?
谢谢!
我通过制作一个不太优雅的解决方案解决了这个问题。
- 我使用以下命令上传了文件:
lo_import
SELECT lo_import ('/ Users / julio / Desktop / myfile.txt');
- 我使用cast和lo_get将其导入到表中:
insert into mytable select convert_from (CAST ((lo_get (1172557)) as bytea), 'latin1');
- 使用lo_unlink删除文件链接:
select lo_unlink (1172557);
就是这样!
我希望我能帮助有同样问题的人!
Julio