Renvoi de valeurs par défaut avec des ensembles de résultats vides
Lors de l'interrogation d'une base de données, il est courant de gérer des scénarios dans lesquels aucune ligne correspondante n'est trouvée. Pour éviter les résultats vides, vous pouvez renvoyer une valeur par défaut à la place.
Dans votre cas, vous souhaitez sélectionner le prochain élément planifié pour un flux. Si aucun élément n'est planifié, vous souhaitez une valeur par défaut pour garantir que le flux lit le contenu.
Vous avez essayé d'utiliser COALESCE et IFNULL sans succès. Cependant, il existe une approche légèrement différente qui fonctionnera :
<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>
En utilisant MIN() comme fonction d'agrégation, vous vous assurez qu'une valeur NULL est renvoyée lorsqu'aucune ligne n'est sélectionnée. Ensuite, IFNULL ou COALESCE peuvent remplacer NULL par votre valeur par défaut, 'default.webm' dans ce cas.
Cette méthode vous permet de récupérer une valeur par défaut si la requête ne renvoie aucun résultat, gérant efficacement l'absence de correspondance lignes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!