MySQL「ON 子句中的未知欄位」錯誤故障排除
MySQL 的「#1054 - 'on 子句' 中的未知列 '...'」錯誤通常表示 SQL 查詢的連線語法有問題。 當您將逗號樣式連接與更現代的 ANSI-92 JOIN
語法結合時,通常會發生這種情況。 資料庫對連接順序的解釋不一致,導致錯誤。
解決方案是標準化你的連接方法。 避免混合風格;相反,對查詢中的所有聯結始終使用 ANSI-92 JOIN
關鍵字。
這是一個示範修正的範例:
<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>
遵守此一致的 JOIN
語法,您將防止出現「ON 子句中的未知列」錯誤,並確保您的 MySQL 查詢正確執行。
以上是如何修復'ON 子句中的 MySQL 未知列”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!