Maison > base de données > tutoriel mysql > Comment résoudre les références ambiguës de colonnes SQL : le conflit de colonnes « id » ?

Comment résoudre les références ambiguës de colonnes SQL : le conflit de colonnes « id » ?

Mary-Kate Olsen
Libérer: 2025-01-18 07:52:08
original
651 Les gens l'ont consulté

How to Resolve Ambiguous SQL Column References:  The

Gestion des références de colonnes SQL ambiguës : exemple de colonne "id"

L'exécution de requêtes SQL peut parfois conduire à l'erreur frustrante de « référence de colonne ambiguë », en particulier lorsqu'il s'agit de la colonne « id » commune. Cela se produit généralement lorsque votre requête implique plusieurs tables ou alias partageant le même nom de colonne.

Une cause fréquente est la jointure de tables avec des noms de colonnes identiques. Par exemple :

<code class="language-sql">SELECT (id, name)
FROM v_groups vg
INNER JOIN people2v_groups p2vg
  ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id = 0;</code>
Copier après la connexion

Ici, v_groups (alias vg) et people2v_groups (alias p2vg) contiennent une colonne "id". La base de données ne peut pas déterminer quel « identifiant » sélectionner, ce qui entraîne une erreur d'ambiguïté.

La solution est simple : qualifier explicitement le nom de la colonne avec sa table ou son alias. Dans ce cas, pour sélectionner le "id" dans la table v_groups :

<code class="language-sql">SELECT (vg.id, name)
FROM v_groups vg
INNER JOIN people2v_groups p2vg
  ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id = 0;</code>
Copier après la connexion

Cette spécification claire élimine l'ambiguïté et permet à la requête de s'exécuter correctement.

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