mysql - 将两个表中的值插入到一个表中

标签 mysql

现在,新场景继续 Base Question如下:

表:menu_list_hed

menu_id    menu_name    shop_id    menu category
--------------------------------------------
 1        Breakfast      12          Veg
 2        Dinner         12          Veg
 .... Many more
 85       Breakfast      13          Veg
 36       Dinner         13          Veg
 .... Many more

我有另一个名为 menu_items 的表,其中已有 shop_id 12 的项目

id     shop_id    menu_id   item_name
--------------------------------------
 1      12           1       Roti
 2      12           1       Prantha
 3      12           2       Thali
 4      12           2       Sweet
 .... many More

现在我希望为 shop_id 13 插入项目,因为 items 相同,但 shop_idmenu_id将会有所不同,如下所示:

  id     shop_id    menu_id   item_name
--------------------------------------
 1      12           1       Roti
 2      12           1       Prantha
 3      12           2       Thali
 4      12           2       Sweet
 .... many More
 111     13          85      Roti
 112     13          85      Prantha
 113     13          36      Thali
 114     13          36      Sweet

我通过使用上一个问题中的查询复制值,然后运行更新语句,如

UPDATE item  SET `menu_id`= 85 where `menu_id` = 1 and restaurant_id = 13;

但我想通过单个查询来实现它

最佳答案

INSERT INTO menu_items (shop_id, menu_id, item_name) 
SELECT 13,  menu_id + 24,  item_name FROM  menu_items 

关于mysql - 将两个表中的值插入到一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26094179/

相关文章:

mysql - 查询中的查询

php - 'ON DUPLICATE KEY UPDATE' 所需的正确语法,SET 选项

python - 获取 MySQL 错误

php - 我可以在 PHP 中混合使用 MySQL API 吗?

sql - 在角色表的用户表中包含管理员角色

php - 如何使用另一个表的关系更新列值

MySQL 5.7 alter table DDL 语句锁定,但应允许并发 DML

php - mySQL插入不会更新数据库

javascript - 在图表中显示 mysql 数据库中的数据

php - 在 mysql/PHP 中执行存储过程时出现错误 "Commands out of sync, you can' t 立即运行命令