ホームページ >バックエンド開発 >PHPチュートリアル >PHP にデータを挿入するときに MySQL で重複エントリを防ぐにはどうすればよいですか?

PHP にデータを挿入するときに MySQL で重複エントリを防ぐにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 21:03:12796ブラウズ

How to Prevent Duplicate Entries in MySQL When Inserting Data in PHP?

MySQL データベースの重複エントリを効果的に防止する

問題:
重複した値を持つテーブルに数千のレコードを挿入すると、データの整合性が損なわれる可能性があります問題。 PHP でスクリプトをループするときにエントリの重複を防ぐにはどうすればよいですか?

解決策:

  1. 一意のキーを作成します:

    • 一意の定義一意である必要がある列の組み合わせに関する INDEX (例: pageId と名前):

      ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
  2. 重複の処理:

    • 次に、重複を処理する方法を決定する必要がありますエントリ:

      • 重複を無視:

        $query = "INSERT IGNORE INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo')";
      • 既存のものを上書きレコード:

        $query = "INSERT INTO thetable (pageid, name, somefield) VALUES (1, 'foo', 'first') ON DUPLICATE KEY UPDATE (somefield = 'first')";
      • カウンター更新:

        $query = "INSERT INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo') ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)";

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。