我有一个列为csv的文件,其列为
Mahindra Logan
Mahindra Xylo
Maruti Suzuki Swift
当我用notepad +查看文件时,它显示完整的514行 但是当我在记事本中查看时,所有数据被合并并显示为3行。 现在当我使用CSV USING LOAD DATA导入phpmyadmin时,只选择“\ n”作为列终止的列。导入3-4个条目。 请尽可能帮助我
答案 0 :(得分:2)
这可能是几件事的结果:
如果您的表有多列,并且您要导入一个包含一列的文件,则数据将被分段截断,例如假设您有一个名为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,
确保列值正确分隔,即如果上述值都是您要导入mysql表的值。使用以下命令
LOAD DATA LOCAL INFILE 'c:\\myfile.csv' INTO TABLE mydatabase.mytable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'