MYSQL存储过程里,如果我要输入如"a, 3,100,qwe"这样一个字符串,如何去掉逗号
插入表中,在表中排成
a
3
100
qwe
这样的形式,就是把逗号隔开的每个字段插进表的每一行。
呵呵,,终于写出来了。。tb1char是我建的一个表,你可以换成你自己的表。
输入参数有data 就是你要插入的字符串,deli 是这个字符串的分隔符。
建立tb1char 表:
create table tb1char(data varchar(100));
调用上述存储过程:
mysql用存储过程怎么返回刚插入的主键自增长ID
插入表中,在表中排成
a
3
100
qwe
这样的形式,就是把逗号隔开的每个字段插进表的每一行。
create procedure split_str(in data varchar(200),in deli varchar(10))
begin
declare i int default 0;
declare lfstr varchar(200) default ' ';
declare instr varchar(50);
while lfstr <> data do
set i=i+1;
set lfstr=substring_index(data,deli,i);
set instr=substring_index(lfstr,deli,-1);
insert into tb1char value(instr);
end while;
end;
呵呵,,终于写出来了。。tb1char是我建的一个表,你可以换成你自己的表。
输入参数有data 就是你要插入的字符串,deli 是这个字符串的分隔符。
建立tb1char 表:
create table tb1char(data varchar(100));
调用上述存储过程:
call split_str("a, 3,100,qwe",",");
mysql用存储过程怎么返回刚插入的主键自增长ID
CREATE PROCEDURE `proc_register_video_news`(out _id int(10),in _video_name varchar(255),in _video_content text,in _video_create_time datetime,in _video_promulgator varchar(255),in _video_soure varchar(255))
BEGIN
insert into video_news(video_name,video_content,create_time,video_promulgator,video_source)values(_video_name,_video_content,_video_create_time,_video_promulgator,_video_soure );
END
order by id desc limit 0,1或select max(id) from table//单用户
SELECT LAST_INSERT_ID();//多用户