重複キー エラーの解決: 無視するか更新しますか?
一意のキーを使用する場合、重複エントリが発生する可能性がある状況に遭遇するのが一般的です。これらの重複を適切に処理したい場合は、INSERT IGNORE または ON DUPLICATE KEY UPDATE の使用を検討してください。
単に重複したタグを無視して後続のタグを挿入し続けることが目的の場合、INSERT IGNORE の使用は面倒に思えるかもしれません。適切なオプション。ただし、INSERT IGNORE はすべてのエラーを無視するため、潜在的なデータ整合性の問題が発生する可能性があることに注意してください。
より推奨されるアプローチは、一意のキーとともに ON DUPLICATE KEY UPDATE を使用することです。あなたの場合、タグは一意のキーです。次のクエリは、これを実現する方法を示しています。
INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c') ON DUPLICATE KEY UPDATE tag=tag;
このアプローチを使用すると、データベースは既存のタグを新しい値で更新し、エントリの重複を防ぎます。実行が成功すると、次のようなクエリ出力を受け取るはずです:
Query OK, 0 rows affected (0.07 sec)
以上が重複キー: 無視しますか、それとも更新しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。