Maison > développement back-end > tutoriel php > Comment puis-je éviter toute ambiguïté lors de la récupération de résultats avec des noms de colonnes qui se chevauchent dans SQL ?

Comment puis-je éviter toute ambiguïté lors de la récupération de résultats avec des noms de colonnes qui se chevauchent dans SQL ?

Susan Sarandon
Libérer: 2024-12-06 10:16:12
original
958 Les gens l'ont consulté

How Can I Avoid Ambiguity When Retrieving Results with Overlapping Column Names in SQL?

Récupération de résultats avec des noms de colonnes ambigus

Lors de la récupération des résultats d'une base de données contenant plusieurs tables avec des noms de colonnes qui se chevauchent, vous pouvez rencontrer des ambiguïtés en accédant aux valeurs souhaitées. Dans cet exemple, nous rencontrons deux tables : NEWS et USERS, toutes deux ayant une colonne 'id'.

Énoncé du problème

Pour récupérer l'ID d'actualité et l'ID utilisateur, nous exécutons la requête SQL suivante :

SELECT * FROM news JOIN users ON news.user = user.id
Copier après la connexion

Cependant, lors de l'accès aux résultats en PHP à l'aide d'un tableau associatif et de la syntaxe $row['column-name'], nous sommes confrontés au défi d'identifier les colonnes d'ID spécifiques.

Solution

Pour résoudre cette ambiguïté, nous pouvons attribuer des alias à les colonnes sélectionnées. En utilisant ces alias, nous pouvons référencer explicitement la colonne souhaitée de la table spécifique.

La requête SQL modifiée avec les alias :

$query = 'SELECT news.id AS newsId, user.id AS userId, [OTHER FIELDS HERE] FROM news JOIN users ON news.user = user.id'
Copier après la connexion

Maintenant, lors de la récupération des résultats en PHP, nous pouvons utiliser les alias pour accéder aux colonnes, par exemple :

$newsId = $row['newsId'];
$userId = $row['userId'];
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal