Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengembalikan NULL Daripada Ralat Apabila Pertanyaan Pangkalan Data Tidak Menemui Rekod Padanan?

Bagaimanakah Saya Boleh Mengembalikan NULL Daripada Ralat Apabila Pertanyaan Pangkalan Data Tidak Menemui Rekod Padanan?

Mary-Kate Olsen
Lepaskan: 2025-01-05 09:58:42
asal
557 orang telah melayarinya

How Can I Return NULL Instead of an Error When a Database Query Finds No Matching Record?

Mengendalikan Nilai Null dalam Rekod Pangkalan Data

Apabila membuat pertanyaan pangkalan data, adalah perkara biasa untuk menghadapi situasi di mana rekod dengan kriteria tertentu mungkin tidak wujud. Secara lalai, kebanyakan pangkalan data mengembalikan ralat jika tiada rekod sepadan ditemui. Walau bagaimanapun, selalunya wajar untuk mengembalikan nilai nol.

Pertimbangkan contoh pertanyaan ini:

SELECT idnumber FROM dbo.database WHERE number = '9823474'
Salin selepas log masuk

Jika nombor yang ditentukan tidak wujud dalam jadual, pertanyaan itu gagal. Sebaliknya, untuk mengembalikan null, kita boleh menggunakan sub-pertanyaan seperti berikut:

SELECT (SELECT idnumber FROM dbo.database WHERE number = '9823474') AS idnumber;
Salin selepas log masuk

Ini merangkum pertanyaan asal dalam sub-pertanyaan, membolehkan kami menganggap "tiada baris" sebagai nilai nol. Teknik ini telah diuji dan disahkan dalam pelbagai pangkalan data, termasuk PostgreSQL, SQLite, SQL Server, MySQL, Oracle, Firebird, DB2 dan SQLite.

Dalam Oracle, sintaks memerlukan pemilihan daripada jadual 1 baris tiruan DUAL:

SELECT (SELECT idnumber FROM dbo.database WHERE number = '9823474') AS idnumber FROM DUAL;
Salin selepas log masuk

Dalam MySQL dan Firebird, anda boleh menggunakan pendekatan yang serupa dengan memilih daripada RDB$DATABASE atau SYSIBM.SYSDUMMY1, masing-masing.

Penyelesaian ini menyediakan kaedah yang mudah dan konsisten untuk mengendalikan nilai nol dalam pertanyaan pangkalan data, memastikan kod anda boleh mengendalikan kedua-dua rekod yang sah dan tidak wujud dengan anggun.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan NULL Daripada Ralat Apabila Pertanyaan Pangkalan Data Tidak Menemui Rekod Padanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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