ホームページ >データベース >mysql チュートリアル >SQL エラー 1066: JOIN 内の非一意のテーブル エイリアスの解決方法
SQL エラー 1066: JOIN クエリにおける一意でないテーブル エイリアスのトラブルシューティング
SQL エラー 1066、「一意のテーブル/エイリアスではありません。 " これは、同じテーブルの複数の出現が、それらを区別するための一意の別名なしで使用されていることを示します
次のコード例を考えてみましょう:
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」テーブルが 2 回結合されており、エラーが発生していることがわかります。この問題を解決するには、テーブルの 2 番目の出現に一意のエイリアスを与える必要があります。
次のコードは、修正されたクエリを示しています。
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" テーブルが 2 回目に出現すると、エラーは解決され、クエリを正常に実行できます。
以上がSQL エラー 1066: JOIN 内の非一意のテーブル エイリアスの解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。