【发布时间】:2021-11-10 07:24:18
【问题描述】:
我有一个 csv 文件,我想将它导入 MySQL,但 LINES TERMINATED 不适用于 '\n'。我尝试用'\r'或'\r\n'替换\n,但还是不行。
如果我在 HEX 编辑器中打开我的文件,很明显,我的 Java 应用程序(编写此文件)工作正常('\n' 终止符突出显示)。
但是当我跑步时
LOAD DATA LOCAL INFILE '/home/vsafonov/testDir/test.csv'
INTO TABLE express.objs
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
我明白了
如果我用某个符号(例如 ';')替换新行的 '\n',则 LOAD DATA INFILE 可以正常工作。但我不知道,为什么无法使用 '\n' 行终止符加载文件。有什么想法吗?
表的创建表
CREATE TABLE IF NOT EXISTS `test_objs` (
`id` bigint(20) NOT NULL,
`object_id` bigint(20) DEFAULT NULL,
`next_id` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;
我的文件示例:
id,object_id,next_id
"1866227","98363301","156715750"
"293","171","454"
"1890275","171","177646470"
【问题讨论】:
-
提供 1) 完整表的 CREATE TABLE; 2)文本文件数据示例(3-5行)。
-
你使用的是什么操作系统?
-
@Akina 这只是错字,因为我在尝试所有组合时只是 '\n' 不起作用。所以,空间不是问题
-
@Akina 请重新打开我的问题,因为这只是一个错字。
-
我没有这个权限。
标签: java mysql load-data-infile