尝试让 MySQL 在通过 INFILE 命令导入时忽略特定行。本质上,它是 CSV 文件中的“标题”行。
LOAD DATA LOCAL INFILE 'C:\myfile.txt' REPLACE INTO TABLE my_db.my_table;
我查看了忽略命令,但这是为了忽略重复的键。有没有办法忽略 .txt 文件中的特定条目/行?
最佳答案
IGNORE
在 LOAD 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 设置为任何字符'
关于MySQL infile 忽略标题行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13568707/