使用phpmyadmin将单列csv文件导入mysql

时间:2013-05-08 18:45:43

标签: mysql csv import phpmyadmin

我有一个列为csv的文件,其列为

Mahindra Logan 
Mahindra Xylo
Maruti Suzuki Swift

当我用notepad +查看文件时,它显示完整的514行 但是当我在记事本中查看时,所有数据被合并并显示为3行。 现在当我使用CSV USING LOAD DATA导入phpmyadmin时,只选择“\ n”作为列终止的列。导入3-4个条目。 请尽可能帮助我

1 个答案:

答案 0 :(得分:2)

这可能是几件事的结果:

  1. 如果您的表有多列,并且您要导入一个包含一列的文件,则数据将被分段截断,例如假设您有一个名为mytable的表,其中包含两列AutoID和fname。但是,您的文件只有一列和20行。在这种情况下,AutoID是一个自动增量列。如果您使用命令:

    LOAD DATA LOCAL INFILE 'c:\\myfile.csv' INTO TABLE mydatabase.mytable
    

    只会导入十行数据。原因是,mysql假设您尝试将单列数据导入两列数据。但是,由于自动生成AutoID值,因此将丢弃要插入的值。为了解决这个问题,我做了以下几点。我在excel中打开了csv文件,并使用NULL值在现有列的左侧添加了一列。我的sql语句最终变得像“

    LOAD DATA LOCAL INFILE 'c:\\myfile.csv' INTO TABLE mydatabase.mytable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
    

    我的文件看起来像:

    NULL, JAMES,
    NULL, JOHN,
    
  2. 确保列值正确分隔,即如果上述值都是您要导入mysql表的值。使用以下命令

    LOAD DATA LOCAL INFILE 'c:\\myfile.csv' INTO TABLE mydatabase.mytable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'