空の結果セットを含むデフォルト値を返す
データベースをクエリする場合、一致する行が見つからないシナリオを処理するのが一般的です。空の結果を避けるために、代わりにデフォルト値を返すことができます。
今回の場合、ストリームに対して次にスケジュールされた項目を選択したいと考えています。アイテムがスケジュールされていない場合は、ストリームでコンテンツが確実に再生されるようにデフォルト値が必要です。
COALESCE と IFNULL を使用しようとしましたが、成功しませんでした。ただし、うまくいく少し異なるアプローチがあります。
<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>
MIN() を集計関数として使用することで、行が選択されていないときに NULL 値が返されるようになります。次に、IFNULL または COALESCE を使用して、NULL をデフォルト値「default.webm」に置き換えることができます。この場合は、
このメソッドを使用すると、クエリが結果を返さなかった場合にデフォルト値を取得でき、一致しない場合に効果的に処理できます。行。
以上がデータベースクエリで空の結果セットのデフォルト値を返す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。