将A表中的值插入A表

时间:2014-09-29 05:20:43

标签: php mysql sql

我在mysql中有一个存储菜单项的表。结构如下

表:menu_list_hed

id    menu_name    shop_id    menu category
--------------------------------------------
 1     Breakfast      12          Veg
 2     Dinner         12          Veg
 .... Many more

现在,我有另一家商店有相同的菜单,但shop_id(13)是不同的。如何再次复制相同的值并使表格如下所示

id    menu_name    shop_id    menu category
--------------------------------------------
 1     Breakfast      12          Veg
 2     Dinner         12          Veg
 .... Many more
 25    Breakfast      13          Veg
 26    Dinner         13          Veg
 .... Many more

我尝试从phpmyadmin导出SQL,但这需要很多时间,因为我必须手动更改每个SQL语句的shop_id

3 个答案:

答案 0 :(得分:2)

您可以使用insert with select并在select语句中提供shop_id

INSERT INTO menu_list_hed
    (`menu_name`, `shop_id`, `menu category`)
select `menu_name`, '13' AS `shop_id`, `menu category`
from menu_list_hed where shop_id = 12
;

Demo

答案 1 :(得分:2)

尝试以下操作,对同一个表进行子查询以匹配shop_id。希望至少这种结构可以帮助你

  

插入 INTO 商店(id,menu_name,shop_id,'菜单类别')

     

SELECT MAX(id)+ 1,menu_name,
  ( SELECT MAX((shop_id))+1 FROM menu_list_hed h1   其中h1.menu_name = h2.menu_name),menu category
  的 FROM   menu_list_hed h2;

答案 2 :(得分:1)

像这样写

INSERT INTO destination_table ( 
      Field_1, 
      Field_2, 
      Field_3) 
SELECT Field_1, 
      Field_2, 
      Field_3 
      FROM source_table;