gpt4 book ai didi

mysql - PostGreSQL CSV 导入行分隔符

转载 作者:行者123 更新时间:2023-11-29 14:09:32 24 4
gpt4 key购买 nike

我正在尝试从 MySQL 表中导出数据并将该数据导入到 PgSQl 数据库中。

从 MySQL 导出脚本

select column_names from from table_name LIMIT 2
INTO OUTFILE 'E:/CSV_files/record_main.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY ';'

PgSQL 导入脚本

COPY record_main("column_names ") FROM 'E:/CSV_files/record_main.csv' 
WITH DELIMITER ',' NULL '\N' ESCAPE ';' CSV

当我尝试导出和导入 CSV 时,上面的代码对我来说工作正常。

但是当我将选择限制从 1 增加到 2 或任何时,它会导致错误。

ERROR: extra data after last expected column CONTEXT: COPY record_main, line 1: >""12635","55025","1","ASCS","P","5320700","2015-01-01 >00:00:00",\N,\N,\N,\N,\N,\N,"DEED",\N,\N,\N,\N,..."

然后打开CSV文件,我手动将一行数据分成两行数据。

并且我删除了每行末尾的分号。

这次它工作正常。我认为行分隔符有误。我的问题是我怎么能对 PgSQl 说行分隔符是这个。就像我给出的 DELIMITER

最佳答案

据我所知,postgresql的copy statement期望行由换行符分隔:

COPY FROM can handle lines ending with newlines, carriage returns, or carriage return/newlines.

因此,您必须调整 mysql 导出以使用新行字符作为行分隔符,或者您需要预处理转储以将 ; 字符替换为新行。

关于mysql - PostGreSQL CSV 导入行分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45894118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com