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 サイトの他の関連記事を参照してください。