我想从表items
where id > 100
中抓取所有行
SELECT `id` FROM `items` WHERE `id` > 100
对于从上面的select
返回的每一行,在item_tags
表中插入一个新行;
INSERT INTO `item_tags` (`item_id`, `tag_id`) VALUES (107, 123)
INSERT INTO `item_tags` (`item_id`, `tag_id`) VALUES (114, 123)
.
.
.
INSERT INTO `item_tags` (`item_id`, `tag_id`) VALUES (299, 123)
在MySQL中,我可以在单个查询中完成此操作吗?
发布于 2020-01-20 02:19:27
考虑一下INSERT ... SELECT ...
语法:
INSERT INTO `item_tags` (`item_id`, `tag_id`)
SELECT `id`, 123 FROM `items` WHERE `id` > 100
这将在item_tags
中为items
中具有id > 100
的每个记录插入一条记录,其中列tag_id
的固定值为123
。
https://stackoverflow.com/questions/59813015
复制相似问题