ホームページ >データベース >mysql チュートリアル >SQL 挿入で重複キーを処理する方法: INSERT IGNORE と ON DUPLICATE KEY UPDATE?
重複キーの処理で INSERT IGNORE を回避する
重複タグによるデータ挿入の干渉を防ぐには、適切なエラー処理戦略を実装することが不可欠です。 INSERT IGNORE を使用したいという誘惑に駆られるかもしれませんが、その制限を理解することが重要です。
INSERT IGNORE の欠点
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;
出力例
このクエリは、状況に応じて、新しいタグを挿入するか、既存のタグを更新します。タグが一意であるかどうか:
クエリ OK、影響を受ける行は 0 件(0.07 秒)
以上がSQL 挿入で重複キーを処理する方法: INSERT IGNORE と ON DUPLICATE KEY UPDATE?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。