6
votes

Retour Null Valeur lorsque MySQL renvoya un ensemble de résultats vide

J'ai une requête comme indiqué ci-dessous.

 MySQL returned an empty result set (i.e. zero rows).


3 commentaires

Retourner 0 rangs Signification Il n'y a pas d'enregistrement correspondant avec Joindre interne . Si vous souhaitez toujours que certaines données utilisent rejoindre à la place.


Cela vous aidera à Stackoverflow.com/questions/9487963/...


C'est une exigence suspecte. Pourquoi pensez-vous que vous devez faire cela? Il pointe une faille logique dans votre programme. Vous modifiez fondamentalement la signification du "nombre de lignes" dans votre requête pour un sous-ensemble de scénarios.


3 Réponses :


5
votes

Vous pouvez simplement utiliser le Sélectionner externe code>. Encapsuler la requête avec le Sélectionner externe code>, si vous souhaitez réellement NULL code> de la valeur de la base de données en cas de 0 lignes,

      SELECT a.ab 
      FROM 
          tab a INNER JOIN tab b 
           ON a.ab=b.ab
      UNION ALL 
      SELECT NULL
      LIMIT 1


0 commentaires

1
votes

Si vous voulez que le résultat soit NULL lorsque vous avez 0 lignes, essayez cette instruction:

IF EXISTS (SELECT 1 FROM TAB AS A INNER JOIN TAB AS B ON A.AB = B.AB )
BEGIN
     SELECT A.AB AS NEW FROM TAB AS A INNER JOIN TAB AS B ON A.AB = B.AB 
END
ELSE
BEGIN
    SELECT NULL AS NEW
END


0 commentaires

0
votes

Pour renvoyer NULL au lieu du résultat vide, essayez ceci:

select (your entire mysql query) new;


0 commentaires