SQL 錯誤1066:對JOIN 查詢中的非唯一表別名進行故障排除
遇到SQL 錯誤1066,「不是唯一的表/別名, " 它表示在JOIN中使用相同表格的多次出現,而沒有唯一的別名來區分它們
考慮以下範例程式碼:
SELECT article.* , section.title, category.title, user.name, user.name FROM article INNER JOIN section ON article.section_id = section.id INNER JOIN category ON article.category_id = category.id INNER JOIN user ON article.author_id = user.id LEFT JOIN user ON article.modified_by = user.id WHERE article.id = '1'
在此程式碼中,您會注意到“user”表連接兩次,從而導致錯誤。要解決此問題,您需要為第二次出現的表提供唯一的別名。
以下程式碼示範了已修正的查詢:
SELECT article.* , section.title, category.title, user.name, u2.name FROM article INNER JOIN section ON article.section_id = section.id INNER JOIN category ON article.category_id = category.id INNER JOIN user ON article.author_id = user.id LEFT JOIN user u2 ON article.modified_by = u2.id WHERE article.id = '1'
透過提供唯一的別名「u2」 」到「user」表第二次出現時,錯誤已解決,您可以成功執行查詢。
以上是如何解決 SQL 錯誤 1066:JOIN 中的非唯一表別名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!