錯誤1066: 重複的表/別名'User'
執行SQL 查詢時,可能會遇到錯誤1066(不是唯一表/別名:「使用者」)。此錯誤表示查詢中的「user」表在沒有不同別名的情況下被多次引用。
問題:
考慮以下表格結構:
Article Section Category User id | title id | title id | title id | name ------------ ------------ ------------ ------------ 1 | Article 1 10 | Section 1 100 | Category 1 1 | Author
這個SQL 查詢:
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'
執行這個查詢時,您將收到錯誤1066,因為「user」表在未指定不同別名的情況下連接了兩次。
解決方案:
要解決此問題,請為「user」表的第二個實例,例如「u2」:
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'
以上是如何解決 MySQL 錯誤 1066:重複的表格/別名「使用者」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!