[英]PostgreSQL csv import from a MySQL csv export?
Will it work? 它会起作用吗?
MySQL export: MySQL导出:
SELECT * INTO OUTFILE 'C:/data.csv'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM table;
PostgreSQL: PostgreSQL的:
COPY table FROM 'C:/data.csv' WITH DELIMITER AS '\t' NULL AS '\\N' CSV
There is missing columns for some reason. 由于某种原因缺少列。 So I believe there is problem in delimiter.
所以我相信分隔符存在问题。 Am I correct, what can I do?
我纠正了,我该怎么办? I can inspect row with cause error below.
我可以检查以下原因错误的行。 But which characters I must look for?
但我必须寻找哪些角色?
ERROR: missing data for column "Column21"
CONTEXT: COPY table, line 88219: ...
Full code: 完整代码:
mysql 5.5.15: mysql 5.5.15:
SELECT *
INTO OUTFILE 'C:/data.csv'
FIELDS TERMINATED BY '\t' ENCLOSED BY '"' ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM table;
postgres 9.0.3: postgres 9.0.3:
COPY table FROM 'C:/data.csv' WITH DELIMITER AS '\t' NULL AS '\\N' ESCAPE E'\\' CSV
Default quote character in PostgreSQL is double-quote, but the documentation says, you can use any single one-byte-character. PostgreSQL中的默认引号字符是双引号,但文档说,您可以使用任何单个单字节字符。 Try adding
尝试添加
ESCAPE '\\'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.