DBAtlas · Atlas d'exploitation des bases de données

1052: Column 'x' in field list is ambiguous (colonne ambiguë dans la liste des champs)

MySQL

Que signifie cette erreur ?

Une colonne portant le même nom existe dans plusieurs tables de la requête et, comme elle est utilisée sans préfixe de table/d'alias, MySQL ne peut pas savoir à quelle table elle appartient.

Cause

Les deux tables jointes ont une colonne de même nom (par ex. id dans les deux) ; colonne écrite sans qualification (sans préfixe) dans SELECT, WHERE, ON, GROUP BY ou ORDER BY.

Comment la corriger

Qualifiez chaque colonne ambiguë avec le nom de la table ou l'alias : SELECT a.id, b.id FROM a JOIN b ON a.id = b.a_id; Donnez aux tables des alias courts et préfixez toutes les colonnes en conflit. Réduisez l'ambiguïté des jointures sur des colonnes communes avec USING(my_column).

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur