ホームページ  >  記事  >  データベース  >  MySQL の WHERE 句で曖昧な「user_id」列を指定するにはどうすればよいですか?

MySQL の WHERE 句で曖昧な「user_id」列を指定するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 17:26:02214ブラウズ

How to Specify the Ambiguous 'user_id' Column in a MySQL WHERE Clause?

MySQL の 'user_id' WHERE 句のあいまいさへの対処

列名を共有する複数のテーブルを操作する場合、MySQL は使用時にあいまいさに遭遇する可能性があります。 WHERE 句内のその列。これは、where 句の「user_id」があいまいであるというエラー メッセージで明らかです。

クエリの例を考えてみましょう:

SELECT user.*, user_info.* 
FROM user 
INNER JOIN user_info ON user.user_id = user_info.user_id
WHERE user_id=1

このクエリでは、「user」テーブルと「user_info」テーブルの両方が「user_id」列があります。ただし、MySQL は、WHERE 句でどの 'user_id' カラムを使用するかを決定できません。

あいまいさの解決

あいまいさを解決するには、どの 'user_id' を指定する必要があります。使用する列。これは、以下に示すように、テーブル名を列名のプレフィックスとして追加することで実現できます。

... WHERE user.user_id=1

「user.user_id」を指定することで、「user_id」を使用することを明示的に宣言します。

この明確化により曖昧さがなくなり、MySQL は where 句の「user_id」が曖昧であるというエラーが発生することなくクエリを実行できるようになります。 WHERE 句で曖昧な列名を参照する場合は、この問題や今後の同様の問題を回避するために、常にテーブル接頭辞を指定することを忘れないでください。

以上がMySQL の WHERE 句で曖昧な「user_id」列を指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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