ホームページ > データベース > mysql チュートリアル > MySQL INSERT ステートメントで「オペランドには 1 列を含める必要があります」エラーが発生するのはなぜですか?

MySQL INSERT ステートメントで「オペランドには 1 列を含める必要があります」エラーが発生するのはなぜですか?

DDD
リリース: 2024-12-17 01:59:25
オリジナル
593 人が閲覧しました

Why Does My MySQL INSERT Statement Get the

MySQL の「オペランドには 1 列を含める必要があります」エラーについて

MySQL のエラー メッセージ「オペランドには 1 列を含める必要があります」 INSERT ステートメント内で使用されるサブクエリによって返される列の数に関連する構文エラーを示します。 SELECT 句。

この特定のインスタンスでは、2 つのテーブル (temp_cheques と BOOK) を結合する SELECT 句を使用して VOUCHER テーブルにレコードを挿入しようとすると、このエラーが発生しました。クエリは、SELECT 句の複数の列 (number、ID、および DENOMINATION) を 1 つの列 (VOUCHER_NUMBER) に挿入しようとしていました。

構文を修正します

エラーを解決するには、SELECT 句が 1 つの列のみを返し、それが INSERT ステートメントのターゲット列の値になることを確認する必要があります。これを実現する 1 つの方法は、提供された回答で強調表示されている正しい構文に従って、SELECT 句から括弧を削除することです。

INSERT INTO VOUCHER (VOUCHER_NUMBER)
SELECT a.number
FROM temp_cheques a, BOOK b
WHERE a.number BETWEEN b.START_NUMBER AND b.START_NUMBER+b.UNITS-1;
ログイン後にコピー

追加の考慮事項

In構文の修正に加えて、BOOK とtemp_cheques には多くの行が含まれています。クエリを実行できるようにするには、回答で述べたように、クエリを実行する前に SQL_BIG_SELECTS = 1 を設定する必要がある場合があります。

以上がMySQL INSERT ステートメントで「オペランドには 1 列を含める必要があります」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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