1. ホーム
  2. mysql

mysql で、あるテーブルから別のテーブルへデータを挿入する。

2023-08-31 17:48:50

質問

私は1つのテーブルからすべてのデータを読み取り、別のテーブルにいくつかのデータを挿入したい。私のクエリは次のとおりです。

  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

よろしくお願いします。

どのように解決するのですか?

あなたは 挿入...選択 という構文があります。SELECTの部分では、'1'を直接引用することができることに注意してください。

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