ホームページ >データベース >mysql チュートリアル >MySQL エラー 1066: 重複したテーブル/エイリアス 'user' を解決する方法?
エラー 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'
これを実行するとクエリを実行すると、別名を指定せずに「user」テーブルが 2 回結合されるため、エラー 1066 が発生します。
解決策:
この問題を解決するには、一意の「user」テーブルの 2 番目のインスタンスのエイリアス (「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: 重複したテーブル/エイリアス 'user' を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。