 |
|
Envoyer à un ami |
|
Le lien vers cette page sera inséré automatiquement dans l'email.
Il ne vous reste qu'à remplir les champs ci-dessous.
|
Je reçois des erreurs SQL sur MySQL 5.0 comme quoi il ne trouve pas une colonne
Je reçois des erreurs SQL sur MySQL 5.0 comme quoi il ne trouve pas une colonne - mais cette colonne est bien là!
1054 - colonne 'a.c' inconnue dans 'en clause'
Celà peut arriver si vous faites quelquechose comme :
SELECTIONNER * A PARTIR DE
a, b
LAISSE REJOINDRE c SUR a.d = c.e;
...ce qui l'air dêtre, d'un point de vue extérieure, parfait. Mais c'est un SQL invalide ; dans les versions antérieures de MySQL, des bugs (4.x) avaient pour effet de le décomposer comme ci-dessus et de lui donner la'pparence de fonctionner correctement, mais la norme SQL dit que celà doit être lu :
SELECTIONNER * A PARTIR DE
a,
b LAISSE REJOINDRE c SUR a.d = c.e;
...et vous verrez que le LAISSE REJOINDRE n'a plus aucun sens. Alors, pour réparer votre SQL, vous devez soit déplacer l'affimation REJOINDRE de façon à ce qu'elle soit située entre les deux tables qu'elle rejoint:
SELECTIONNER * A PARTIR DE
a LAISSE REJOINDRE c SUR a.d = c.e,
b;
...ou bien groupez explicitement comme ((a,b),c) au lieu de (a,(b,c)):
SELECTIONNER * A PARTIR DE
(a,
b) LAISSE REJOINDRE c SUR a.d = c.e;
Revoir les FAQ de la catégorie MySQL
|