LOAD DATA LOCAL INFILE仅导入MySQL中的一行

时间:2013-01-29 13:15:56

标签: mysql load-data-infile

使用MySQL数据库,我想导入一个包含13列和120行的csv文件。我想把它们上传到一张桌子里。

这是我的命令:

mysql> load data local infile 'restaurants.csv' 
       into table restaurants_restaurant fields        
       terminated by ',' enclosed by '"' lines terminated by '\n';

以下是报道的内容:

Query OK, 1 row affected, 4 warnings (0.05 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 4

只添加了一行,只是部分?我做错了什么?

我的表结构:

class Restaurant(models.Model):
name = models.CharField(max_length=200)
category = models.CharField(max_length=200)
city = models.CharField(max_length=200)
location= models.CharField(max_length=200)
address= models.CharField(max_length=500)
phone_number= models.IntegerField()
email= models.CharField(max_length=200)
description= models.CharField(max_length=2000)
hours= models.CharField(max_length=200)
photos= models.CharField(max_length=200)
price= models.CharField(max_length=200)
rating= models.IntegerField()
review= models.CharField(max_length=2000)

我的csv的前4行:

American Burger,American,Dhaka,,,,,,,,2 to 4,4
ARIRANG,Korean,Dhaka,,"House 3, Road 51, Gulshan 2, Dhaka, Bangladesh.",(88-02) 989-6453,,,,,,
Aroma,,Dhaka,,,,,,,,15 to 20,3.5
Bacaru,,Dhaka,,,,,,,,,4

2 个答案:

答案 0 :(得分:1)

在CSV文件行分隔符中是(0D 0A)。因此,您需要使用'\ r \ n'作为行分隔符 -

...
lines terminated by '\r\n'

答案 1 :(得分:0)

如果您的表格中存在任何数据文件行违反的唯一约束,那么LOAD DATA INFILE将跳过它们,如本文所示:

https://stackoverflow.com/a/20913896/445131

删除表上的所有唯一约束并重试,或者删除文本文件中每行的每列中的重复项,然后重试。