2017-07-14 1 views
1

基本的に私はCSVから日付形式を変更するためにこのコードを持っていますので、インポート時にMySQLが認識できます。ロードデータinfile後にキー 'PRIMARY'の重複エントリを解決する方法

LOAD DATA INFILE 'file.csv' 
INTO TABLE customer FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' 
(
    ID, name, @var1, age 
) 
SET date = STR_TO_DATE(@var1, '%d/%m/%Y') 

ここで、IDがPRIMARYキーであるとします。私はfile.csvのアップデートを入手して、私のコードを再度実行してMySQLに再ロードしたいと思っています。新しいレコードを更新するだけではなく、それは私に、このエラーメッセージを与える:

#1062 - Duplicate entry '05' for key 'PRIMARY' 

は、同じIDを無視し、唯一異なるIDを持つ新しいレコードを追加する方法はありますか?すべてのPrimary keyあなたは何ができるかUnique Key

あるので

+0

あなたはそのcasに置き換えても無視することもできます。このリンクは役に立ちます(https://dev.mysql.com/doc/refman/5.7/en/load-data.html) –

+0

https://stackoverflow.com/questions/15271202/mysql-load-data-infile- with-on-duplicate-key-update – TheSatinKnight

答えて

0

MySQLはPKSの重複を許可していない、私が提案する、AUTO_INCREMENT IDにあります。実際にレコードを挿入するのではなく、レコードを更新したい場合。

また、.csvファイルを挿入するときにIDが含まれていないことを確認してください。したがって、テーブルに沿って自動的に値を設定する必要があります。

+0

そして、正しいID値でAUTO_INCREMENTを開始するようにしてください –

関連する問題