我想批量插入SQL下面的roles
表格来初始化用户的角色信息,我向每个roles
授予三个user
:
INSERT INTO `roles`
(`role_id`, `role_name`, `menu_id`, `role_updated_time`, `role_created_time`, `role_creator_user_id`, `role_sys_type`)
VALUES
(40, 'developer', '[1,2,3,4]', NULL, now(), 1027, 1),
(41, 'financial', '[1,2,3]', NULL, now(), 1027, 2),
(42, 'operation', '[1,2]', NULL, now(), 1027, 3);
我想在一个SQL中完成这项工作,所以如何在foreach
表中usr_id
每users
个roles
,以便它插入usr_id
表{{1} }}相当于role_creator_user_id
表中的roles
,role_id
为auto_increment
。
我使用这个SQL但不起作用:
INSERT INTO `roles`
(`role_id`, `role_name`, `menu_id`, `role_updated_time`, `role_created_time`, `role_creator_user_id`, `role_sys_type`)
VALUES
(40, 'developer', '[1,2,3,4]', NULL, now(), (select usr_id from users), 1),
(41, 'financial', '[1,2,3]', NULL, now(), (select usr_id from users), 2),
(42, 'operation', '[1,2]', NULL, now(), (select usr_id from users), 3);
所以我试过这个,也行不通:
INSERT INTO
roles
(role_id
,role_name
,menu_id
,role_updated_time
,role_created_time
,role_creator_user_id
,role_sys_type
) VALUES (从用户中选择100,'开发人员' [1,2,3,4]',NULL,now(),usr_id,1)