Heim >Datenbank >MySQL-Tutorial >Wie behebe ich den Fehler „Unbekannte MySQL-Spalte in ON-Klausel'?

Wie behebe ich den Fehler „Unbekannte MySQL-Spalte in ON-Klausel'?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-13 06:49:42445Durchsuche

How to Fix the

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn