【发布时间】:2021-05-29 00:53:39
【问题描述】:
我需要一个存储过程来插入逗号分隔值,如下所示
contact_id = '1000, 1002, 1003, 1004';
first_name = 'dirt,dammy , samii ,samii ,xenon ';
使用存储过程
我试过了
BEGIN
drop temporary table if exists t_srcids;
create temporary table t_srcids(srcid char(255), names char(255));
set @vIds = testSourceId;
set @vNames = testSourceName;
set @value = replace(@vNames,",","'),(");
set @sql = concat("insert into t_srcids (srcid) values ('", replace(@vIds,",", "'),('"),"');");
prepare stmt1 from @sql;
execute stmt1;
set @sql1 = concat("insert into t_srcids (names) values ('", replace(@vNames,",", "'),('"),"');");
prepare stmt2 from @sql1;
execute stmt2;
select * from t_srcids;
END;
产生单个插入的也需要其他列的帮助
【问题讨论】:
-
为什么你需要一个非严格程序的程序?
-
抱歉,我什么都不懂
-
比不使用程序性能更好?我不相信那是真的,也不相信你有资格做出这样的评估——但不管你的船是什么。
-
我刚刚做了更改有没有办法从最小 id 开始插入
标签: mysql stored-procedures replace concatenation