エラー 1066: 一意のテーブル/エイリアスではありません: 'user'
SQL でエラー 1066 が発生した場合、テーブルまたはエイリアスがクエリで使用されているが、一意の識別子なしで複数回参照されています。提供されたコードでは、「user」テーブルがエイリアスなしで 2 回結合されることでエラーが発生します:
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'
この変更されたコードでは、「user」テーブルへの 2 番目の参照にエイリアス「u2」が割り当てられます。これにより、データベースは 2 つのインスタンスを区別してエラーを解決できるようになります。
以上がSQL エラー 1066 を解決する方法: 一意のテーブル/エイリアスがありません?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。