エントリの重複を防ぐための MySQL データベースの最適化
一意のキーを使用して、MySQL テーブルにデータを挿入する際の重複レコードの問題を軽減するには制約は効果的な解決策となる可能性があります。このシナリオでは、pageId と名前の組み合わせが一意であることを確認します。
最初のステップでは、テーブル上に一意のインデックスを作成します。
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
一意のインデックスが作成されたら、確立すると、重複レコードを挿入しようとしたときに実行する適切なアクションを決定できます。いくつかの選択肢があります:
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "first") ON DUPLICATE KEY UPDATE (somefield = 'first') INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "second") ON DUPLICATE KEY UPDATE (somefield = 'second')
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)
これらの手法を実装することで、MySQL データベースに重複レコードが保存されるのを効果的に防ぐことができます。データの整合性を確保し、不整合を防ぎます。
以上が一意のキーを使用して MySQL データベース内の重複エントリを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。