1

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

追加されたのは 1 行のみで、部分的にのみですか? 私は何を間違っていますか?

私のテーブル構造:

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
4

2 に答える 2

1

CSV ファイルの行区切り記号は (0D 0A) です。したがって、行区切りとして「\r\n」を使用する必要があります-

...
lines terminated by '\r\n'
于 2013-01-29T13:32:04.687 に答える
0

この投稿に示されているように、データ ファイルの行が違反しているテーブルに一意の制約がある場合は、LOAD DATA INFILEそれらをスキップします。

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

テーブルの一意の制約をすべて削除して再試行するか、テキスト ファイルの各行の各列の重複を削除して再試行してください。

于 2014-01-03T22:45:41.203 に答える