ホームページ >データベース >mysql チュートリアル >MySQL の WHERE 句で曖昧な「user_id」列を指定するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。