我正在调试 MySQL 中的存储过程,但我不知道错误出在哪里。我有以下代码:
SELECT refreshToken.token FROM refreshToken WHERE refreshToken.accountId = 2;
此代码返回一个空集。但是这段代码:
SELECT refreshToken.token INTO @a FROM refreshToken WHERE refreshToken.accountId = 2;
SELECT @a;
返回表中的第一个值。
最佳答案
这是因为 @a 已经使用一些值进行了初始化。
当查询返回空记录时,全局变量将保留其先前的值。
因此,在运行查询之前清除变量值始终是一个好主意
set @a = null;
SELECT refreshToken.token INTO @a FROM refreshToken WHERE refreshToken.accountId = 2;
SELECT @a;
这应该将 @a 显示为 null
关于MySQL 变量值错误(SELECT INTO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31220751/