Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den Fehler „Unbekannte MySQL-Spalte in ON-Klausel'?
Fehlerbehebung beim MySQL-Fehler „Unbekannte Spalte in ON-Klausel“
Der MySQL-Fehler „#1054 – Unbekannte Spalte ‚...‘ in ‚on-Klausel‘“ weist normalerweise auf ein Problem mit der Join-Syntax Ihrer SQL-Abfrage hin. Dies tritt häufig auf, wenn Sie Verknüpfungen im Komma-Stil mit der moderneren ANSI-92-JOIN
-Syntax kombinieren. Die Datenbank interpretiert die Verknüpfungsreihenfolge inkonsistent, was zu dem Fehler führt.
Die Lösung besteht darin, Ihre Join-Methode zu standardisieren. Vermeiden Sie Stilmischungen; Verwenden Sie stattdessen konsequent das ANSI-92-Schlüsselwort JOIN
für alle Verknüpfungen in Ihrer Abfrage.
Hier ist ein Beispiel, das die Korrektur demonstriert:
<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>
Durch die Einhaltung dieser konsistenten JOIN
Syntax verhindern Sie den Fehler „Unbekannte Spalte in ON-Klausel“ und stellen sicher, dass Ihre MySQL-Abfragen korrekt ausgeführt werden.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Unbekannte MySQL-Spalte in ON-Klausel'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!