Maison >base de données >tutoriel mysql >Comment corriger l'erreur « Colonne inconnue MySQL dans la clause ON » ?

Comment corriger l'erreur « Colonne inconnue MySQL dans la clause ON » ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-13 06:49:42448parcourir

How to Fix the

Dépannage de l'erreur MySQL "Colonne inconnue dans la clause ON"

L'erreur MySQL "#1054 - Colonne inconnue '...' dans 'on clause'" indique généralement un problème avec la syntaxe de jointure de votre requête SQL. Cela se produit souvent lorsque vous combinez des jointures de type virgule avec la syntaxe ANSI-92 JOIN plus moderne. La base de données interprète l'ordre de jointure de manière incohérente, ce qui entraîne l'erreur.

La solution est de standardiser votre méthode de jointure. Évitez de mélanger les styles ; à la place, utilisez systématiquement le mot-clé ANSI-92 JOIN pour toutes les jointures de votre requête.

Voici un exemple démontrant la correction :

<code class="language-sql">SELECT p.*,
       IF(COUNT(ms.PropertyID) > 0, 1, 0) AS Contacted,
       pm.MediaID,
       DATE_FORMAT(p.AvailableFrom, '%d %b %Y') AS AvailableFrom,
       AsText(pg.Geometry) AS Geometry
FROM property p
JOIN propertygeometry pg ON p.PropertyGeometryID = pg.id
JOIN shortlist sl ON sl.PropertyID = p.id AND sl.MemberID = 384216
LEFT JOIN message ms ON ms.PropertyID = p.id AND ms.SenderID = 384216
LEFT JOIN property_media pm ON pm.PropertyID = p.id AND pm.IsPrimary = 1
WHERE p.paused = 0
GROUP BY p.id;</code>

En adhérant à cette JOIN syntaxe cohérente, vous éviterez l'erreur « Colonne inconnue dans la clause ON » et garantirez que vos requêtes MySQL s'exécutent 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!

Déclaration:
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