【发布时间】:2016-01-29 02:42:50
【问题描述】:
我正在尝试将在过程主体中声明的变量与输入参数进行比较,但结果始终为 false。
这是我的代码:
create procedure UserLogin(email VARCHAR(64),
reg_id VARCHAR(355),
code_version VARCHAR(10))
SELECT REG_ID INTO v_mi_regId
from USUARIO
where ID_USUARIO = email;
IF reg_id != v_mi_regId THEN <-- always false
UPDATE USUARIO
SET REG_ID = reg_id
WHERE ID_USUARIO = email;
END IF;
END
在 USUARIO 表中,特定用户的 REG_ID 值与参数不同。从不执行更新操作
【问题讨论】:
-
reg_id 是一个参数和一个列。所以重新考虑一下
-
尝试检查 v_mi_regId 值并声明第一个 v_mi_regId。
标签: mysql variables stored-procedures parameter-passing