Jes*_*sse 2 mysql bulkinsert sql-insert
对于我必须执行的数据库修复,我需要为此查询结果的每个ID执行插入操作;
SELECT Id FROM role WHERE id != 99 AND Id NOT IN (SELECT RoleId FROM permissionaction WHERE PermissionId = 19);
Run Code Online (Sandbox Code Playgroud)
因此,它会产生一些必须与此查询一起添加的 ID。
INSERT INTO permissionaction (AccessLevel, PermissionId, ControllerActionId, Active, CreatedOn, ModifiedOn, CreatedById, ModifiedById, RoleId) VALUES (1, 19, 1, 1, Now(), Now(), 1, 1, *******ID HERE******);
Run Code Online (Sandbox Code Playgroud)
我知道可以使用 mysql 游标来完成,但这里不可能。有没有一种方法可以在一个查询中添加所有生成的 ID?
谢谢
INSERT INTO permissionaction (AccessLevel, PermissionId, ControllerActionId, Active, CreatedOn, ModifiedOn, CreatedById, ModifiedById, RoleId)
SELECT 1, 19, 1, 1, Now(), Now(), 1, 1, Id
FROM role
WHERE id != 99
AND Id NOT IN (SELECT RoleId FROM permissionaction WHERE PermissionId = 19);
Run Code Online (Sandbox Code Playgroud)
您可以为查询返回的每个行INSERT...SELECT添加值到表中。permissionactionSELECT