13

通过 INFILE 命令导入时,试图让 MySQL 忽略特定行。本质上,它是 CSV 文件中的“标题”行。

LOAD DATA LOCAL INFILE 'C:\myfile.txt' REPLACE INTO TABLE my_db.my_table;

我已经查看了忽略命令,但那是为了忽略重复的键。有没有办法忽略 .txt 文件中的特定条目/行?

4

2 回答 2

20

IGNORELOAD DATA INFILE在一个语句中有两个含义。第一个是重复键错误时的替换/忽略。第二个意思是你要找的那个。完整的陈述是IGNORE n LINES

您不能跳过随机行,但可以在输入文件的开头跳过 n 行,如下所示:

LOAD DATA LOCAL INFILE 'C:\myfile.txt' REPLACE INTO TABLE my_db.my_table IGNORE 5 LINES;

这将忽略前 5 行,其中行尾EOL默认为\n并且可以设置为使用任何字符LINES TERMINATED BY 'CHR'

于 2012-11-26T16:28:34.313 回答
11

将此选项添加到您的语句中:

IGNORE 1 LINES
于 2012-11-26T16:25:03.517 回答