$string = '1,2,3,4,5'
$array = explode(',',$string)
之后就得出一个数组,$array(1,2,3,4,5)
这个应该可以使用字符串拼接,你是不是这样写存储过程:create procedure p_proc(var_in int)
begin
delete from [tableName] where [colName] in (var_in)
end
然后又这样调用:
call p_proc(1, 2, 3)
这样肯定不行,那么你可以这样:
create procedure p_proc(var_in varchar(5000))
begin
set @sql = concat("delete from [tableName] where [colName] in (", var_in, ")")
prepare stmt_exe_sql from @sql
execute stmt_exe_sql
deallocate prepare stmt_exe_sql
end
这样就相当于把(1, 2, 3)拼接成语句"delete from [tableName] where [colName] in (1, 2, 3)", 然后执行,就可以删除了。
可以用SUBSTRING_INDEX()函数在mysql中提供了一些字符串 *** 作的函数,其中SUBSTRING_INDEX(str, delim, count)str: 要处理的字符串delim: 分割符count: 计数 如果为正数,则从左开始数,如果为负数,则从右开始数欢迎分享,转载请注明来源:内存溢出
评论列表(0条)