gpt4 book ai didi

mysql - MySQL中将逗号分隔的输入参数转换为int行的函数

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

我有一个存储过程,我在其中传递要由该过程插入到表中的值的 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 _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 中做过很多开发。

最佳答案

我可以通过 http://www.slickdev.com/2008/09/15/mysql-query-real-values-from-delimiter-separated-string-ids/ 的论坛帖子的帮助来完成此操作。

我的查询如下所示

INSERT INTO role_permissions(FkRoleId,FKPermissionId)
SELECT _roleId, permissionID FROM permissions WHERE FIND_IN_SET(permissionID, _permissionList);

关于mysql - MySQL中将逗号分隔的输入参数转换为int行的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25139061/

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