Mengembalikan Nilai Tanpa mengira Hasil Pertanyaan
Apabila menanyakan pangkalan data, adalah perkara biasa untuk menghadapi situasi di mana anda perlu mengembalikan nilai walaupun jika pertanyaan tidak menghasilkan apa-apa hasil. Sebagai contoh, anda mungkin mahu memaparkan nilai pemegang tempat atau melakukan pemprosesan selanjutnya berdasarkan kewujudan data.
Pertimbangkan pertanyaan berikut, yang bertujuan untuk mendapatkan medan integer (medan1) untuk ID (id) yang diberikan :
SELECT field1 FROM table WHERE id = 123 LIMIT 1;
Jika tiada rekod dengan ID yang dinyatakan wujud, set keputusan akan kosong. Walau bagaimanapun, anda mungkin memerlukan pertanyaan untuk mengembalikan nilai tanpa mengira.
Fungsi IFNULL
MySQL menyediakan fungsi IFNULL() untuk menangani senario ini. Ia memerlukan dua hujah:
Dengan menggabungkan IFNULL() dengan subkueri, anda boleh memastikan bahawa pertanyaan sentiasa mengembalikan a value:
SELECT IFNULL( (SELECT field1 FROM table WHERE id = 123 LIMIT 1) ,'not found');
Pertanyaan ini akan mengembalikan nilai medan1 jika rekod dengan ID yang ditentukan ditemui, jika tidak, ia akan mengembalikan rentetan 'tidak dijumpai'.
Faedah daripada Menggunakan IFNULL()
Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Nilai Walaupun Pertanyaan Tiada Hasil dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!