MySQL WHERE 句の「user_id」のあいまいさを解決する方法は?

Barbara Streisand
リリース: 2024-11-11 06:05:03
オリジナル
503 人が閲覧しました

How to Resolve

MySQL WHERE 句のあいまいな 'user_id'

共通の列名を共有する複数のテーブルを含むデータベースをクエリする場合、明示的に指定することが重要ですWHERE 句でどのテーブルの列を参照しているのか。このあいまいさは、「user」や「user_info」などのテーブルに「user_id」などの共有列名がある場合に発生します。

問題

以下のクエリは、 「user」テーブルと「user_info」テーブルを結合しますが、「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_id' 列を値 1 と比較するかを指定する必要があります。これは、列名の前にテーブルの別名を付けることで行われます:

SELECT user.*, user_info.*
FROM user
INNER JOIN user_info ON user.user_id = user_info.user_id
WHERE user.user_id=1
ログイン後にコピー

By明示的に「user.user_id」を指定すると、これがフィルター対象の列であり、「user_info」テーブルの「user_id」列ではないことをデータベースに通知することになります。これによりあいまいさがなくなり、クエリが正常に実行できるようになります。

以上がMySQL WHERE 句の「user_id」のあいまいさを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート