ホームページ > データベース > mysql チュートリアル > PHP を使用して MySQL への重複データの挿入を防ぐにはどうすればよいですか?

PHP を使用して MySQL への重複データの挿入を防ぐにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-14 17:47:09
オリジナル
344 人が閲覧しました

How to Prevent Duplicate Data Insertion in MySQL Using PHP?

MySQL データベースへの重複データ挿入の防止

列 ID、pageId、および名前を持つ MySQL テーブルが一意を維持する必要があるシナリオpageId と名前の組み合わせにより、重複したデータの挿入を防ぐことが重要になります。この記事では、PHP を使用してデータ挿入中に重複エントリを処理するためのベスト プラクティスについて説明します。

ステップ 1: 一意のインデックスを作成する

pageId と pageId の組み合わせに一意性を適用するには名前列の場合、次の SQL ステートメントを使用してインデックスを作成できます:

ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
ログイン後にコピー

ステップ2: 重複の処理

挿入中に重複エントリが見つかった場合、特定の要件に基づいて適切なアクションを決定できます:

  • 重複を無視します: INSERT IGNORE ステートメントを使用すると、重複を挿入せずに挿入プロセスを続行できます。 Record.
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
ログイン後にコピー
  • 既存のレコードを上書きします: これは、特定の列の更新を指定する INSERT...ON DUPLICATE KEY UPDATE ステートメントを使用して実現できます。重複キーがある場合
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')
ログイン後にコピー
  • カウンタの更新: 重複レコードが別の発生とみなされている場合、ON DUPLICATE KEY UPDATE 構文を使用してカウンタ列を増分できます。 .
INSERT INTO thetable (pageid, name)
VALUES (1, "foo"), (1, "foo")
ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)
ログイン後にコピー

以上がPHP を使用して MySQL への重複データの挿入を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート