MySQL にデータを挿入するときに発生する「列数が値数と一致しません」エラーを解決するにはどうすればよいですか?

DDD
リリース: 2024-10-26 18:24:29
オリジナル
389 人が閲覧しました

How to Resolve

MySQL で、あるテーブルから別のテーブルにデータを挿入する

次のようなクエリを使用して、あるテーブルから別のテーブルにデータを挿入しようとすると、

INSERT INTO mt_magazine_subscription ( 
      magazine_subscription_id, 
      subscription_name, 
      magazine_id, 
      status ) 
  VALUES ( 
      (SELECT magazine_subscription_id, 
              subscription_name, 
              magazine_id 
       FROM tbl_magazine_subscription 
       ORDER BY magazine_subscription_id ASC), '1')
ログイン後にコピー

次のエラー メッセージが表示される場合があります。

#1136 - Column count doesn't match value count at row 1
ログイン後にコピー

これは、INSERT ステートメントで指定された列の数が、サブクエリで指定された値の数と一致しないためです。

解決策

この問題を解決するには、次のように INSERT...SELECT 構文を使用します。

INSERT INTO mt_magazine_subscription ( 
      magazine_subscription_id, 
      subscription_name, 
      magazine_id, 
      status ) 
SELECT magazine_subscription_id, 
       subscription_name, 
       magazine_id, 
       '1'
FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC 
ログイン後にコピー

この修正されたクエリでは、'1 ' ステータス列の値は SELECT 部分で直接引用されます。 INSERT...SELECT 構文を使用すると、挿入する列を指定し、別のテーブルまたはサブクエリから挿入する値を選択して、列の数と値が一致することを確認します。

以上がMySQL にデータを挿入するときに発生する「列数が値数と一致しません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!