「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQL の WHERE 句で曖昧な「user_id」列を指定するにはどうすればよいですか?

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

2024 年 11 月 7 日に公開
ブラウズ:169

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」を指定することで、 WHERE 句の 'user' テーブルの 'user_id' カラムを使用することを明示的に宣言します。

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

リリースステートメント この記事は次の場所に転載されています: 1729663275 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3