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

Barbara Streisand
Lepaskan: 2024-10-24 04:07:31
asal
783 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!