8858


カラムにはユニーク設定をしているので、INSERTはできませんが、トランザクションでINSERTし、Duplicateエラーのみ無視して、次のINSERTの処理を行う方法はありますでしょうか？

MySQL  
バージョン : 5.1.73  
ストレージエンジン : InnoDB

よろしくお願いします。


CC BY-SA 3.0
2015-04-07T06:33:27.413
8857
2015-04-07T09:03:13.803
question
mysql
MySQL : トランザクションでINSERTする際、Duplicateエラーのみ無視して処理を続けるには


二つの対応方法があると思います。普通の`INSERT`の代わりに

  1. [`INSERT IGNORE ...`](http://dev.mysql.com/doc/refman/5.1/en/insert.html)を使ったら、duplicateエラーが無視されます。
  2. [`INSERT ... ON DUPLICATE KEY UPDATE`](http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html)を使ったら、duplicateではない場合レコードがinsertされます。duplicateである場合レコードがupdateされます。


CC BY-SA 3.0
2015-04-07T08:13:21.883
8858
2015-04-07T09:03:13.803
2015-04-07T09:03:13.803
3371
3371
8857
answer