ホームページ  >  記事  >  データベース  >  MySQL で 1 つのテーブルから別のテーブルにデータを正しく挿入するにはどうすればよいですか?

MySQL で 1 つのテーブルから別のテーブルにデータを正しく挿入するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 00:26:30316ブラウズ

How to Correctly Insert Data from One Table to Another in MySQL?

MySQL におけるあるテーブルから別のテーブルへのデータの挿入

あるテーブルから別のテーブルへのデータの挿入は、データベース管理における一般的な操作です。ただし、構文が正しくないと、エラーが発生することがあります。

次のクエリを考えてみましょう。

<code class="sql">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')</code>

このクエリは、tbl_magazine_subscription テーブルのデータを mt_magazine_subscription テーブルに挿入することを目的としています。ただし、次のエラーが発生します。

#1136 - Column count doesn't match value count at row 1

このエラーを解決するには、INSERT...SELECT 構文を使用します。更新されたクエリは次のとおりです。

<code class="sql">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</code>

この改訂されたクエリでは、SELECT ステートメント内でステータス列の値を「1」として直接指定し、値の数がステートメント内の列の数と一致するようにします。ターゲットテーブル。この変更により、データの挿入が正常に続行できるようになります。

以上がMySQL で 1 つのテーブルから別のテーブルにデータを正しく挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。