Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengembalikan Nilai Lalai untuk Set Keputusan Kosong dalam Pertanyaan Pangkalan Data?
Mengembalikan Nilai Lalai dengan Set Hasil Kosong
Apabila membuat pertanyaan pangkalan data, adalah perkara biasa untuk mengendalikan senario yang tiada baris yang sepadan ditemui. Untuk mengelakkan hasil kosong, anda boleh mengembalikan nilai lalai.
Dalam kes anda, anda mahu memilih item dijadualkan seterusnya untuk strim. Jika tiada item dijadualkan, anda inginkan nilai lalai untuk memastikan strim memainkan kandungan.
Anda telah mencuba menggunakan COALESCE dan IFNULL tanpa kejayaan. Walau bagaimanapun, terdapat pendekatan yang sedikit berbeza yang akan berfungsi:
<code class="sql">SELECT IFNULL(MIN(`file`), 'default.webm') `file` FROM `show`, `schedule` WHERE `channel` = 1 AND `start_time` <= UNIX_TIMESTAMP() AND `start_time` > UNIX_TIMESTAMP()-1800 AND `show`.`id` = `schedule`.`file` ORDER BY `start_time` DESC LIMIT 1</code>
Dengan menggunakan MIN() sebagai fungsi agregat, anda memastikan bahawa nilai NULL dikembalikan apabila tiada baris dipilih. Kemudian, IFNULL atau COALESCE boleh menggantikan NULL dengan nilai lalai anda, 'default.webm' dalam kes ini.
Kaedah ini membolehkan anda mendapatkan semula nilai lalai jika pertanyaan tidak mengembalikan hasil, dengan berkesan mengendalikan ketiadaan padanan baris.
Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Nilai Lalai untuk Set Keputusan Kosong dalam Pertanyaan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!