用于在MySQL中将逗号分隔的输入参数转换为int行的函数
我有一个存储过程,其中我传递一个CSV值列表,该列表将由该过程插入到表中 我的sp是用于在MySQL中将逗号分隔的输入参数转换为int行的函数,mysql,sql,Mysql,Sql,我有一个存储过程,其中我传递一个CSV值列表,该列表将由该过程插入到表中 我的sp是 DELIMITER $$ USE `btwa`$$ DROP PROCEDURE IF EXISTS `sp_AddRole`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_AddRole`(IN _rolename VARCHAR(50) , IN _permissionList VARCHAR(255)) BEGIN DECLARE
DELIMITER $$
USE `btwa`$$
DROP PROCEDURE IF EXISTS `sp_AddRole`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_AddRole`(IN _rolename VARCHAR(50) , IN _permissionList VARCHAR(255))
BEGIN
DECLARE _roleId INT;
INSERT INTO roles(RoleName, CreatedOn)
VALUES (_rolename,CURDATE());
SET _roleId = LAST_INSERT_ID();
/*INSERT INTO role_permissions(FkRoleId,FKPermissionId)
VALUES (_roleId, ...);*/here I want to insert values of _permissionList
END$$
DELIMITER ;
如何从permissionList中获取int行,我可能会像'1,2,3,4'一样传递这些行
我在SQL Server上做过开发,但在MySQL上做的不多。我可以通过在 我的查询如下
INSERT INTO role_permissions(FkRoleId,FKPermissionId)
SELECT _roleId, permissionID FROM permissions WHERE FIND_IN_SET(permissionID, _permissionList);