Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengesan dan Mengendalikan Kegagalan Memasukkan/Kemas Kini Pangkalan Data disebabkan oleh Kekangan Utama yang Unik?

Bagaimana untuk Mengesan dan Mengendalikan Kegagalan Memasukkan/Kemas Kini Pangkalan Data disebabkan oleh Kekangan Utama yang Unik?

Barbara Streisand
Barbara Streisandasal
2024-10-24 04:07:31784semak imbas

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

Mengesan Kemas Kini Pangkalan Data/Kegagalan Memasukkan Disebabkan oleh Kekangan Unik yang Dilanggar

Dalam pengaturcaraan pangkalan data, adalah perkara biasa untuk menghadapi senario di mana anda perlu memastikan keunikan data melalui kekangan unik. Ini boleh menyebabkan kegagalan semasa operasi sisipan atau kemas kini apabila nilai pendua ditemui.

Andaikan anda mempunyai jadual dengan satu lajur bernama "tajuk" yang mempunyai kekangan unik dikenakan. Anda memasukkan baris dengan nilai tajuk "sesuatu." Kini, apabila mencuba sisipan lain dengan nilai tajuk yang sama, operasi akan gagal disebabkan oleh kekangan kunci yang unik.

Matlamat anda adalah untuk mengesan dan mengendalikan kegagalan ini. Anda mahu pangkalan data menguatkuasakan keunikan semasa kod anda memintas kod ralat untuk memaklumkan pengguna mengenai tajuk pendua.

Pemintasan Kod Ralat dengan PHP PDO

Hari ini, PHP PDO ialah kaedah pilihan untuk interaksi pangkalan data. Untuk mengesan kegagalan sisipan yang disebabkan oleh kekangan kunci unik dengan PDO, ikuti langkah berikut:

  1. Gunakan blok cuba/tangkap untuk mengendalikan PDOExceptions.
  2. Periksa tatasusunan errorInfo dalam objek PDOException.
<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>

Susun atur $e->errorInfo memberikan maklumat terperinci tentang ralat, termasuk kod 1062 untuk pelanggaran kunci unik.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan dan Mengendalikan Kegagalan Memasukkan/Kemas Kini Pangkalan Data disebabkan oleh Kekangan Utama yang Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn