Maison >base de données >tutoriel mysql >Comment corriger l'erreur « Colonne inconnue MySQL dans la clause ON » ?
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!