ホームページ >データベース >mysql チュートリアル >一意のキー制約によるデータベースの挿入/更新の失敗を検出して処理する方法は?

一意のキー制約によるデータベースの挿入/更新の失敗を検出して処理する方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-24 04:07:31860ブラウズ

How to Detect and Handle Database Insertion/Update Failures due to Unique Key Constraints?

一意制約違反によるデータベース更新/挿入の失敗の検出

データベース プログラミングでは、一意制約を通じてデータの一意性を確保する必要があるシナリオに遭遇することがよくあります。これにより、重複する値が検出された場合、挿入または更新操作中にエラーが発生する可能性があります。

一意制約が適用された「title」という名前の 1 つの列を持つテーブルがあるとします。タイトル値「something」を持つ行を挿入します。ここで、同じタイトル値を使用して別の挿入を試みると、一意のキー制約により操作が失敗します。

あなたの目標は、この失敗を検出して処理することです。コードがエラー コードをインターセプトして重複したタイトルをユーザーに通知している間、データベースで一意性を強制したいとします。

PHP PDO によるエラー コード インターセプト

現在、PHP PDO が推奨される方法です。データベースのやり取り用。 PDO の一意キー制約による挿入エラーを検出するには、次の手順に従います。

  1. try/catch ブロックを使用して PDOExceptions を処理します。
  2. PDOException オブジェクト内の errorInfo 配列を調べます。
<code class="php">try {
    // PDO query execution goes here.
} catch (\PDOException $e) {
    if ($e->errorInfo[1] == 1062) {
        // The INSERT query failed due to a key constraint violation.
    }
}</code>

$e->errorInfo 配列は、一意のキー違反のコード 1062 を含む、エラーに関する詳細情報を提供します。

以上が一意のキー制約によるデータベースの挿入/更新の失敗を検出して処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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