我希望加载如下所示的文本文件:
11 aaa
22 bbb
# comment
33 ccc
44 bbb
# comment
55 eee我正在使用这个命令
LOAD DATA LOCAL INFILE '/d:\test.txt'
INTO TABLE foo
COLUMNS TERMINATED BY ' '
IGNORE 1 LINES
(@'#')我想跳过行的明星和#
发布于 2015-01-17 21:18:54
我认为忽略n行不像你所期望的那样有效。文件上说
如果想要阅读的所有行都有一个要忽略的公共前缀,则可以使用以“prefix_string”开头的行跳过前缀,并跳过前缀之前的任何内容。如果一行不包括前缀,则跳过整行。假设您发出以下语句:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
FIELDS TERMINATED BY ',' LINES STARTING BY 'xxx';如果数据文件如下所示:
xxx"abc",1
something xxx"def",2
"ghi",3得到的行将是("abc",1)和("def",2)。文件中的第三行被跳过,因为它不包含前缀。 “忽略数字行”选项可用于在文件开始时忽略行。例如,可以使用“忽略1行”跳过包含列名的初始标题行:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;我想你最好的方法是在加载文件之前清除输入文本。
https://stackoverflow.com/questions/27927940
复制相似问题