gpt4 book ai didi

Mysql 使用子查询插入

转载 作者:行者123 更新时间:2023-11-29 12:15:37 24 4
gpt4 key购买 nike

我正在尝试插入多条记录,如下所示:

SET @user_id = (select `id` from users where `email` IN( 'carlos+01@comp.com', 'carlos+223344@comp.com' ) );

SET @badge_id = (select `id` from badges where `slug` = 'elearning_nutrition');

INSERT INTO `instructor_badges` (`id`, `user_id`, `badge_id`, `is_active`, `is_manual`, `created`)
VALUES (UUID(), @user_id, @badge_id, '1', '0', NOW());

但我收到此错误:

[ERROR in query 1] Subquery returns more than 1 row

在这种情况下,我必须插入 2 条记录。我怎样才能执行这个查询?

最佳答案

你可以试试这个。不过,这会将用户笛卡尔连接到徽章。因此,如果您选择两个用户和两个徽章,您将需要插入四行。但我认为这就是您所说的您想要实现的目标。

INSERT INTO instructor_badges (id, user_id, badge_id, is_active, is_manual, created)
SELECT UUID(), users.id, badges.id, '1', '0', NOW()
FROM users
JOIN badge
WHERE users.email IN( 'carlos+01@comp.com', 'carlos+223344@comp.com' )
&& badges.slug = 'elearning_nutrition'

关于Mysql 使用子查询插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29855327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com