yshjshxxn 2021-07-13 14:48 采纳率: 0%
浏览 66
已结题

关于一个mysql存储过程的问题

现有一个存储过程:

BEGIN

DECLARE s int DEFAULT 0;
DECLARE mid VARCHAR(10);  
DECLARE realname VARCHAR(20);
DECLARE mobile VARCHAR(20);
DECLARE email VARCHAR(50);

DECLARE user CURSOR FOR select id, realname, mobile, email from tb_user where status = 1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;

open user;
fetch user into mid, realname, mobile, email;
    WHILE s<>1 DO
            
    UPDATE tb_b set title = REPLACE(title,mobile,'*') where uid = mid;

    fetch user into mid, realname, mobile, email;
    END WHILE;
close user;
END

循环中的update语句中,replace替换,会把整个标题替换成空值,我是想只把title字段中的mobile替换成*。这里的mobile是结果集的值,该怎么写呢(tb_user表中的id也是VARCHAR类型)?

  • 写回答

3条回答 默认 最新

  • yshjshxxn 2021-07-13 14:49
    关注

    目前执行这个存储过程,会把所有tb_b表中的title字段都替换为空值。求教正确的该怎么写?

    评论

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 修改了问题 7月13日
  • 修改了问题 7月13日
  • 修改了问题 7月13日
  • 展开全部