我在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
。
答案 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
;
答案 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;