Maison >développement back-end >tutoriel php >Comment résoudre les noms de colonnes ambigus dans les jeux de résultats SQL ?

Comment résoudre les noms de colonnes ambigus dans les jeux de résultats SQL ?

DDD
DDDoriginal
2024-12-03 12:43:10474parcourir

How to Resolve Ambiguous Column Names in SQL Result Sets?

Résolution des noms de colonnes ambigus lors de la récupération des résultats

Des noms de colonnes ambigus peuvent survenir lors de la récupération de résultats à partir de tables avec des noms de colonnes identiques. Considérons le scénario suivant dans lequel nous avons deux tables, NEWS et USERS, avec des noms de colonnes communs :

NEWS Table :

  • id (news ID)
  • utilisateur (ID utilisateur de l'auteur)

UTILISATEURS Table :

  • id (ID utilisateur)

Requête SQL :

Pour récupérer les données de ces tables, nous exécutons la requête SQL suivante :

SELECT * FROM news JOIN users ON news.user = user.id

Désiré Résultat :

Nous souhaitons obtenir l'identifiant de l'actualité et l'identifiant de l'utilisateur à partir du résultat. Cependant, les récupérer à l'aide de $row['column-name'] entraînerait une ambiguïté en raison du nom de la colonne partagée.

Solution :

Pour résoudre cette ambiguïté, nous pouvons attribuer des alias aux colonnes à l'aide du mot-clé "AS":

SELECT news.id AS newsId, user.id AS userId, [OTHER FIELDS HERE]
FROM news JOIN users ON news.user = user.id

Désormais, lors de l'accès aux résultats en PHP, nous pouvons récupérez l'ID d'actualité sous la forme $row['newsId'] et l'ID utilisateur sous la forme $row['userId'].

En aliasant les colonnes de cette manière, nous garantissons que les données récupérées sont identifiables de manière unique, ce qui les rend facile à utiliser dans votre application PHP.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn