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
Libérer: 2025-01-13 06:49:42
original
450 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal