Menyelesaikan masalah MySQL "lajur tidak diketahui dalam klausa ON" Ralat
Ralat "#1054 - Lajur tidak diketahui '...' dalam 'pada klausa'" MySQL biasanya menunjukkan masalah dengan sintaks gabungan pertanyaan SQL anda. Ini sering berlaku apabila anda menggabungkan cantuman gaya koma dengan sintaks ANSI-92 JOIN
yang lebih moden. Pangkalan data mentafsir susunan gabungan secara tidak konsisten, mengakibatkan ralat.
Penyelesaian adalah untuk menyeragamkan kaedah penyertaan anda. Elakkan gaya pencampuran; sebaliknya, gunakan kata kunci ANSI-92 JOIN
secara konsisten untuk semua penyertaan dalam pertanyaan anda.
Berikut ialah contoh yang menunjukkan pembetulan:
<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>
Dengan mematuhi sintaks JOIN
yang konsisten ini, anda akan menghalang ralat "Lajur tidak diketahui dalam klausa ON" dan memastikan pertanyaan MySQL anda dilaksanakan dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk Betulkan Ralat 'MySQL tidak diketahui dalam klausa ON'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!