MariaDB LOAD DATA INFILE csv文件未正确读取

时间:2016-06-03 14:23:29

标签: sql csv mariadb

文件:/DNC/myphones.csv 内容:

电话
5555555555个
5555555556

SQL - LOAD DATA LOCAL INFILE' /DNC/myphones.csv' INTO TABLE测试
由' \ r \ n'

终止的线路

回来的是几个警告和一些跳过,一个记录使其成为2174563487的记录 - 大多数这些数字不存在于数据中。这是从哪里来的?

csv是在MSOUTLOOK 2010中创建的,也尝试了上面的"测试"用相同内容的纳米文件写的。

任何帮助都会非常感激。

更新 - 将架构更改为VARCHAR(255)使此工作正常。 它可以将CSV文件内容作为字符串而不是整数读取吗? 这可以解释它不是从CSV读取值而不是从它获得奇怪的217#

最终更新。由于生病从不对电话号码进行数学运算,我决定使用字符串代替。但是,感谢大家的帮助

1 个答案:

答案 0 :(得分:1)

首先,架构只取整数,标头会导致服务器吐出错误。 如果标题不是数据的一部分,为什么不跳过它?

LOAD DATA LOCAL INFILE '/DNC/myphones.csv' INTO TABLE test 
  LINES TERMINATED BY '\r\n' 
  IGNORE 1 LINES;

秒,错误的行终止。对于Windows" \ r \ n"它们是不同的。和Linux" \ r"。然而," /" vs" \"仅适用于文件夹,而不适用于换行符/制表符/返回字符。