在mysql中将数据从一个表插入另一个表

2022-01-09 00:00:00 insert mysql

我想从一个表中读取所有数据并将一些数据插入到另一个表中.我的查询是

i want to read all data from one table and insert some data in to another table. my query is

  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...SELECT 语法.请注意,您可以直接在 SELECT 部分引用1".

You can use INSERT...SELECT syntax. Note that you can quote '1' directly in the SELECT part.

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 

相关文章