sxfxtf 发表于 2022-10-19 15:19

mysql 复合语句咨询

各位大佬们好,想请教一个mysql语句问题

我想在b表实现插入多个记录如下
INSERT INTO category(id ,NAME)
VALUES
(1'鸡蛋'),
(2,'萝卜'),
(3,'猪腿肉')

但是现在id要从另一张a表获取,数据格式如下
id | mark_name                      |
+----+--------------------------------+
|1 | 海曙中心菜市场               |
|2 | 东裕菜市场                     |
|3 | 南苑菜市场                     |

我想先用select获取对应菜场id, 然后把id和菜品插入到b表请问如何实现,
下面是我自己写的有问题, 我百度了很多 没找到怎么写把a表获取的部分字段插入到b表的写法
insert into b(mark_id,commodity_name) values(select id from a where mark_name='东裕菜市场',"鸡腿");

梓沐 发表于 2022-10-19 15:34

insert into b(mark_id,commodity_name) select id, mark_namefrom a where mark_name in ('东裕菜市场','鸡腿');

fengwolf3 发表于 2022-10-19 16:02

梓沐 发表于 2022-10-19 15:34
insert into b(mark_id,commodity_name) select id, mark_namefrom a where mark_name in ('东裕菜市场', ...

这位大佬正解{:1_921:}

chinamail 发表于 2022-10-19 16:13

insert into b select id,"鸡腿" from a where mark_name='东裕菜市场'

sxfxtf 发表于 2022-10-19 16:25

chinamail 发表于 2022-10-19 16:13
insert into b select id,"鸡腿" from a where mark_name='东裕菜市场'

感谢老哥,我问到了,
你的语句不对因为我a表里只有菜场的id和名字 没有鸡腿 哈哈
页: [1]
查看完整版本: mysql 复合语句咨询