建立一个存储过程删除多个用户记录。
create procedure DeleteUser(IN ids VARCHAR)
begin
update UserInfo set DeleteFlag=1
where UserID in (ids);
end;这里ids是字符串,如"1,3,5,65,231",而UserID在表中是int型的,
如何在存储过程中把字符串型的"1,3,5,65,231"转换成int型的集合... where UserID in (1,3,5,65,231)谢谢!
create procedure DeleteUser(IN ids VARCHAR)
begin
update UserInfo set DeleteFlag=1
where UserID in (ids);
end;这里ids是字符串,如"1,3,5,65,231",而UserID在表中是int型的,
如何在存储过程中把字符串型的"1,3,5,65,231"转换成int型的集合... where UserID in (1,3,5,65,231)谢谢!
begin
update UserInfo set DeleteFlag=1
where find_in_set(UserID ,ids);
end;
create procedure DeleteUser(IN ids VARCHAR(100))
begin
DECLARE strsql varchar(100);
SET strsql= CONCAT('update t2 set b=1 where a in (',ids ,')');
SET @sql1=strsql;
PREPARE stmt_p FROM @sql1;
EXECUTE stmt_p;
end;CALL DeleteUser('1,200');