MySQL データベースへの重複データ挿入の防止
列 ID、pageId、および名前を持つ MySQL テーブルが一意を維持する必要があるシナリオpageId と名前の組み合わせにより、重複したデータの挿入を防ぐことが重要になります。この記事では、PHP を使用してデータ挿入中に重複エントリを処理するためのベスト プラクティスについて説明します。
ステップ 1: 一意のインデックスを作成する
pageId と pageId の組み合わせに一意性を適用するには名前列の場合、次の SQL ステートメントを使用してインデックスを作成できます:
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
ステップ2: 重複の処理
挿入中に重複エントリが見つかった場合、特定の要件に基づいて適切なアクションを決定できます:
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)
以上がPHP を使用して MySQL への重複データの挿入を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。