gpt4 book ai didi

mysql - 在mysql中插入数组中的值

转载 作者:行者123 更新时间:2023-11-29 05:26:02 24 4
gpt4 key购买 nike

我有多个用户角色。每个 user_role 都有多个权限,每个权限都有多个值。我需要创建一个以 user_role_name,description,priviliges_fk(array),values(arrayofstring) 作为输入的过程。这是我写的程序。

DELIMITER $$
DROP PROCEDURE IF EXISTS `save_role`$$
CREATE DEFINER=`event_admin`@`%` PROCEDURE `save_role`(IN p_role_name INT,
IN p_description INT,
IN p_privilege_fk INT(),
IN p_values VARCHAR(1000)
)
BEGIN
DECLARE i int default 0;
DECLARE V_ROLE_FK int;
DECLARE counter INT DEFAULT 0;

INSERT INTO ROLE (ROLE_NAME,DESCRIPTION) VALUES(p_role_name,p_description);
SELECT ROLE_PK INTO V_ROLE_FK FROM ROLE WHERE ROLE_NAME=p_role_name AND DESCRIPTION=p_description;

simple_loop:LOOP
SET counter = counter + 1;
INSERT INTO ROLE_PRIVILEGE_BRIDGE (ROLE_FK,PRIVILEGE_FK,VALUE) VALUES(V_ROLE_FK,p_privilege_fk(i),p_values);
END LOOP simple_loop;
END;

最佳答案

你不能。有两种解决方法可行

  1. 对数组中的每个元素调用一次过程
  2. 将数组元素连接成一个由某些东西分隔的字符串(即 |、;、:),然后在程序内部拆分该字符串。

我会选择第一个选项。它更简洁、更易于理解和测试。

关于mysql - 在mysql中插入数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210644/

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