ホームページ >データベース >mysql チュートリアル >SQL エラー 1066 を解決する方法: 一意のテーブル/エイリアスがありません?

SQL エラー 1066 を解決する方法: 一意のテーブル/エイリアスがありません?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-31 11:39:10205ブラウズ

How to Resolve SQL Error 1066: Not Unique Table/Alias?

エラー 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。