ホームページ  >  記事  >  バックエンド開発  >  MySQL で重複エントリ エラーを処理する方法: INSERT...IGNORE、REPLACE INTO、または INSERT...ON DUPLICATE KEY UPDATE?

MySQL で重複エントリ エラーを処理する方法: INSERT...IGNORE、REPLACE INTO、または INSERT...ON DUPLICATE KEY UPDATE?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-27 13:42:29422ブラウズ

How to Handle Duplicate Entry Errors in MySQL: INSERT...IGNORE, REPLACE INTO, or INSERT...ON DUPLICATE KEY UPDATE?

MySQL での重複エントリ エラーの無視

一意の識別子を持つレコードを追加しようとすると、データベースの挿入で重複エントリ エラーが発生することがあります。 MySQL では、このようなエラーを処理するための代替手段がいくつか提供されています。

1 つのオプションは、INSERT...IGNORE 構文を使用することです。これにより、重複エントリが発生した場合のエラーの生成が防止されます。通知なしで挿入をスキップするだけです。

もう 1 つのアプローチは、既存のレコードを同じキー値で置き換える REPLACE INTO を使用することです。挿入を無視する代わりに、古いレコードを新しいレコードで上書きします。

最後に、INSERT...ON DUPLICATE KEY UPDATE により、重複キーが見つかったときに更新操作を実行できるようになります。これは、新しいレコードを挿入しようとする代わりに、MySQL が指定された値で既存のレコードを更新することを意味します。

例:

列を持つ tbl という名前のテーブルを考えてみましょう。 ID と値。最初は、id=1 および value=1 という単一のエントリが含まれています。次のステートメントを実行すると、各構文の動作が示されます:

  • REPLACE INTO tbl VALUES(1,50);: 既存のレコードを更新し、id=1 および value=50 になります。
  • INSERT IGNORE INTO tbl VALUES (1,10);: 重複キーが存在するため、何も挿入しません。
  • INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;: 既存のレコードを更新します。結果は、id=1、value=200 となります。

以上がMySQL で重複エントリ エラーを処理する方法: INSERT...IGNORE、REPLACE INTO、または INSERT...ON DUPLICATE KEY UPDATE?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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