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 句であいまいな列名を参照する場合は、この問題や今後の同様の問題を回避するために、必ずテーブル接頭辞を指定してください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3