ホームページ > データベース > mysql チュートリアル > あいまいな SQL 列参照を解決する方法: 'id' 列の競合?

あいまいな SQL 列参照を解決する方法: 'id' 列の競合?

Mary-Kate Olsen
リリース: 2025-01-18 07:52:08
オリジナル
652 人が閲覧しました

How to Resolve Ambiguous SQL Column References:  The

あいまいな SQL 列参照の処理: "id" 列の例

SQL クエリを実行すると、特に一般的な "id" 列を処理する場合に、イライラする「あいまいな列参照」エラーが発生することがあります。これは通常、クエリに同じ列名を共有する複数のテーブルまたはエイリアスが含まれる場合に発生します。

よくある原因は、同じ列名を持つテーブルを結合することです。 例:

<code class="language-sql">SELECT (id, name)
FROM v_groups vg
INNER JOIN people2v_groups p2vg
  ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id = 0;</code>
ログイン後にコピー

ここでは、v_groups (vg というエイリアス) と people2v_groups (p2vg というエイリアス) の両方に「id」列が含まれています。 データベースはどの "id" を選択するかを決定できず、あいまいさエラーが発生します。

解決策は簡単です。テーブルまたはエイリアスで列名を明示的に修飾します。 この場合、v_groups テーブルから「id」を選択するには:

<code class="language-sql">SELECT (vg.id, name)
FROM v_groups vg
INNER JOIN people2v_groups p2vg
  ON vg.id = p2vg.v_group_id
WHERE p2vg.people_id = 0;</code>
ログイン後にコピー

この明確な仕様によりあいまいさがなくなり、クエリを正しく実行できるようになります。

以上があいまいな SQL 列参照を解決する方法: 'id' 列の競合?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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