Sélection d'une valeur par défaut en l'absence d'enregistrements de base de données
L'instruction SQL fournie échoue lorsque le nombre spécifié n'est pas présent dans la table de base de données. Cet article présente une solution qui encapsule la requête dans une sous-requête pour attribuer une valeur par défaut de NULL dans de tels scénarios.
Encapsulation de la requête
Encapsulation de la requête d'origine au sein d'une sous-requête transforme efficacement l'absence de résultat en une valeur NULL. Cette approche est compatible avec divers systèmes de gestion de bases de données, notamment :
Implémentation
PostgreSQL, SQLite, SQL Server et MySQL
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;
Oracle (utiliser de la table DUAL)
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
Firebird
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;
DB2
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
En implémentant cette solution, vous pouvez vous assurer que vos instructions SQL renvoient gracieusement une valeur par défaut de NULL au lieu de rencontrer des erreurs lorsque les données interrogées ne sont pas présentes dans la base de données.
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!