1052: Column 'x' in field list is ambiguous (colonne ambiguë dans la liste des champs)
MySQLQue 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).
Autres entrées pour ce moteur
- 1366Incorrect string/integer value for column (valeur de chaîne/entière incorrecte pour la colonne)
- 1044Access denied for user to database (accès refusé à la base de données pour l'utilisateur)
- 1264Out of range value for column (valeur hors limites pour la colonne)
- 1136Column count doesn't match value count (le nombre de colonnes ne correspond pas au nombre de valeurs)
- 1048Column 'x' cannot be null (la colonne ne peut pas être NULL)
- 1292Incorrect datetime value / truncated incorrect value (valeur datetime incorrecte / valeur incorrecte tronquée)
- 1406Data too long for column (données trop longues pour la colonne)