ホームページ >データベース >mysql チュートリアル >「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;
たとえば、コードを簡素化するためにテーブル エイリアスを使用するとします。
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 サイトの他の関連記事を参照してください。