set @sqll="dcq,1qwf,qwfff";set @arr=substring_index(substring_index(@sqll,',',2),',',-1);#substring_index 字符串分割SELECT @arr;set @title="异时空大战剧情介绍--最大资源网-全球最大在线电影资源网站";set @title2=replace(@title,"剧情介绍--最大资源网-全球最大在线电影资源网站","");SELECT @title2;call testinsert(@sqll);/**This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法**/-- set global log_bin_trust_function_creators=TRUE;set global log_bin_trust_function_creators=TRUE; drop function if exists split_string; #判断函数是否存在 存在就删除delimiter;;/**函数创建returns 返回值**/create function split_string(str varchar(250),splicstr varchar(5),strindex int) returns varchar(255)begindeclare result varchar(255) default '';set result=substring_index(substring_index(str,splicstr,strindex),splicstr,-1); return result;end;;delimiter;
drop procedure if exists `testinsert`;delimiter;;create procedure `testinsert`(in str varchar(250))begin declare len int; declare a VARCHAR(50); declare b VARCHAR(50); declare i int default 0; declare id1 int; declare title1 varchar(250); /** 游标使用 */# 遍历数据游标标志 declare done int default FALSE;# 获取数据库游标 declare cur_account cursor for select id,title from pac_zuidazy where id<100;# 游标结束后绑定 到 游标标志 修改状态 declare continue handler for not found set done =true; set len=length(str)-length(replace(str,',','')); #获取分割的长度 create temporary table if not exists addtable( #创建临时表 a varchar(50), b varchar(50) ); truncate TABLE addtable;#清空临时表 while i