当输入字符串在mysql中包含n个字段时,在表中插入n行

时间:2017-07-13 09:01:29

标签: mysql

我确实有一个要求,例如当两个输入作为输入传递给存储过程时,需要插入另一个表,行数将取决于输入中传递的字段数。

我试图创建一个存储过程,但它只插入字段长度为1

BEGIN

Declare valu varchar(200);
Declare valu2 varchar(200);
Declare fwo varchar(200);
Declare fwo2 varchar(200);
declare len int;
Declare sl int;
Declare valu3 varchar(255);
Declare jval varchar(255);

set @fwo = (select replace(pinput1,',', ''));
set @fwo2 = (select replace(pinput2,',', ''));
-- select @fwo;
set @len = (select length(@fwo));
-- select @fwo,@len;
set @sl = 1;
if @len >0 then 
increment: repeat
set @valu = SUBSTRING(@fwo, @sl , 1);
set @valu2 = SUBSTRING(@fwo2, @sl , 1);

set @jval = JSON_OBJECT('id',@valu2,'policy',@valu);

INSERT INTO `Example`(`Column1`,`Column2`) values(@valu2,@jval);

set @sl = @sl+1;

UNTIL @sl > @len END repeat increment ;

END if ;
END$$
DELIMITER ;

当输入为1,2,3和a,b,c时插入正确发生,但是当我们通过11,12,13和ab,cd时,ef插入发生在上述条件输入之后。同样当长度增加超过1时重复。

有人建议我解决这个问题

0 个答案:

没有答案