ホームページ >データベース >mysql チュートリアル >SQL での重複キーの挿入をエラーなしで無視する方法は?
挿入時に重複キーを無視する方法
タグ フィールドに UNIQUE 制約があるテーブルにデータを挿入しようとしています。重複したタグを無視するには、これらの重複した挿入を無視するソリューションを探します。
解決策:
すべてのエラーを抑制する INSERT IGNORE を使用する代わりに、続くアプローチ:
INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c') ON DUPLICATE KEY UPDATE tag=tag;
説明:
ON DUPLICATE KEY UPDATE を使用すると、データベースにタグがすでに存在する場合、その値は更新されません。これは、重複した挿入はエラーを引き起こすことなく無視されることを意味します。 「*」を指定したコードは、どのタグを無視するかを指定していないため機能しません。
例:
上記のクエリを実行すると、次のメッセージが表示されることがわかります:
Query OK, 0 rows affected (0.07 sec)
これは、データが正常に挿入され、重複したタグがすべて挿入されたことを示します。無視されました。
以上がSQL での重複キーの挿入をエラーなしで無視する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。