「on 句」に不明な列「column_name」があります - MySQL エラーを解決する方法: on 句に不明な列があります
タイトル: 'on 句' の不明な列 'column_name' - MySQL エラーの解決方法: on 句の不明な列、具体的なコード例が必要です
記事本文:
MySQL は、さまざまなタイプのアプリケーション開発で広く使用されている、一般的に使用されているオープン ソースのリレーショナル データベース管理システムです。ただし、MySQL を使用する過程で、さまざまなエラーや問題が発生することがあります。よくあるエラーの 1 つは、「Unknown columns 'column_name' in 'on Clause'」 (on 句内の不明な列) です。
MySQL で結合クエリ (JOIN) ステートメントを実行し、不明なカラム名が on 句で参照されると、MySQL はこのエラーを報告します。このエラーは通常、列名のスペルミス、対応するテーブルで定義されていない列名、または別名の誤った使用によって発生します。
それでは、この問題をどうやって解決すればいいのでしょうか?一般的な解決策は次のとおりです。
- 列名のスペルが正しいかどうかを確認します。まず、コード内の列名がデータベース内の列名のスペルと一致しているかどうかを注意深く確認する必要があります。大文字と小文字が正しく一致するかどうかに注意してテーブルを作成します。矛盾している場合は、コード内の列名を正しいスペルに変更する必要があります。
たとえば、「id」と「name」という名前の列を含む「users」というテーブルがあるとします。このエラーは、結合クエリで列名「id」を「Id」と入力した場合に報告されます。正しい書き方は、カラム名「id」を「Id」に変更することです。
SELECT *
FROM users
JOINorders ON users.Id =orders.user_id;
正しい書き方は次のとおりです:
SELECT *
FROM users
JOINorders ON users.id =orders.user_id;
- 列名が正しいテーブルに定義されていることを確認します。スペルに問題がないことが確認できた場合は、列名が対応するテーブルですでに定義されていることを確認する必要があります。同様に、テーブル名と列名がデータベース内の定義と一致していることを再確認してください。
たとえば、「user_id」という名前の列を含む「orders」という名前のテーブルがあるとします。ただし、接続クエリで列名「user_id」を「customer_id」として記述すると、このエラーが報告されます。この時点で、列名を正しいスペルに変更する必要があります。
SELECT *
FROM users
JOINorders ON users.id =orders.customer_id;
正しい書き方は次のとおりです:
SELECT *
FROM users
JOINorders ON users.id =orders.user_id;
- テーブル エイリアスを使用するときは、参照方法に注意してください。テーブル エイリアスは、結合クエリで単純化するために使用される場合があります。コード。ただし、テーブルの別名を使用する場合、on 句で列名を参照するときに別名の接頭辞が正しく使用されていない場合にも、このエラーが発生する可能性があります。
たとえば、コードを簡素化するためにテーブル エイリアスを使用するとします。
SELECT *
FROM users AS u
JOINorders AS o ON u.id =orders . user_id;
この時点で、on 句で列名を参照するときは、元のテーブルのテーブル名 "users" の代わりに、正しいエイリアス接頭辞 "u" を使用する必要があります。
上記の方法により、MySQL エラー「Unknown columns 'column_name' in 'on Clause'」(on 句内の不明な列) の問題を解決できます。同時に、このエラーと解決策をよりよく理解するために、具体的なコード例を以下に示します。
サンプル コード:
CREATE TABLE users (
id INT PRIMARY KEY ,
name VARCHAR(50)
);
CREATE TABLEorders (
id INT PRIMARY KEY,
user_id INT,
order_date DATE
);
INSERT INTO users VALUES (1, 'Alice');
INSERT INTO users VALUES (2, 'Bob');
INSERT INTO order VALUES (1, 1, '2022-01-01') ) ;
INSERT INTO order VALUES (2, 2, '2022-01-02');
SELECT *
FROM users
JOIN 注文 ON users.id =orders.user_id;
この例では、「users」という名前のテーブルと「orders」という名前のテーブルを作成し、ユーザー ID で接続します。結合クエリでは、エラーを避けるために正しい列名と別名プレフィックスを使用しました。
要約すると、MySQL エラー「'on 句' に不明な列 'column_name'」を解決するには、列名がテーブルに定義されているかどうか、列名のスペルに注意する必要があります。 、エイリアスを使用する場合の参照方法について説明します。コードを注意深く確認して正しく変更することで、このエラーを回避し、結合クエリ ステートメントを正常に実行できます。
以上が「on 句」に不明な列「column_name」があります - MySQL エラーを解決する方法: on 句に不明な列がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。
