Mysql数据库if then的用法 then后面有两个要改

问题遇到的现象和发生背景

学校要用Mysql 的procedure模拟银行业务,下面then后面要给str赋值和修改密码内容 中间不是用and连接吗?报错了

问题相关代码,请勿粘贴截图
CREATE PROCEDURE changeSecret(v_secretID CHAR(6),v_changeSecretId char(6),OUT str VARCHAR(20))
BEGIN
IF EXISTS (SELECT * FROM customerdata WHERE v_secretid=secretID)
THEN UPDATE cardData set secretID=v_changeSecretId WHERE IDcard=(SELECT IDcard FROM customerdata WHERE v_secretid=secretID);
Then SET str='修改成功';
ELSE SET str='原密码不正确,请重新输入';
END IF;
SELECT str;
END;
运行结果及报错内容

CREATE PROCEDURE changeSecret(v_secretID CHAR(6),v_changeSecretId char(6),OUT str VARCHAR(20))
BEGIN
IF EXISTS (SELECT * FROM customerdata WHERE v_secretid=secretID)
UPDATE cardData set secretID=v_changeSecretId WHERE IDcard=(SELECT IDcard FROM customerdata WHERE v_secretid=secretID) AND SET str='修改成功';
ELSE SET str='原密码不正确,请重新输入';
END IF

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE cardData set secretID=v_changeSecretId WHERE IDcard=(SELECT IDcard FROM c' at line 4
时间: 0s