2016-10-11 3 views
-1

コードに重複を含むcsvファイルからデータを挿入するために使用する次のクエリがあります。重複キーのmysqlは数字を生成する

INSERT INTO table_name (ProductCode) VALUES (23) ON DUPLICATE KEY UPDATE ProductCode = FLOOR(RAND() * 500) 

キーが既に別のものを生成して挿入を続ける存在するので、もし上記のクエリでの問題は、それが常に

Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '88' for key 'ProductCode' in 

を失敗したということである私は私のクエリをどのように行うことができますか?

+1

これは、インサートがデュプリであることを意味し、ランダムを介したアップデートはデュープでもありましたか? – Drew

+0

はい。例えば、私は製品コード4875を7回持っています。製品コードは同じですが、残りのデータは異なります。つまり、私はすべてを挿入する必要があります。 –

+0

アップデートが失敗し、挿入されていないように見えます。エラーメッセージが正しく表示される – Rahul

答えて

0

このクエリを実行する簡単な方法は、PHPでしばらくしてから製品コードが一意であるかどうかをチェックし、一意でない場合は新しいものを生成することです。私は-1を得ることを忘れないでください。私はコードを投稿しません。私は質問に-1をして、それを行う良い方法が誰も知らない時に移動する時間が少なくなると聞いた。

関連する問題