Mysql 将查询结果分配给存储过程中的变量时出错

Mysql 将查询结果分配给存储过程中的变量时出错,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我在为查询结果分配变量,然后在表中插入该变量的值时遇到问题。该行被插入到表中,但“gPayRef”字段(应该包含变量的值)为空 这是我的代码:- SET @eReceipt = (SELECT DISTINCT `gpayref` FROM `TRANSACTION` WHERE `ereceipt` = '12345'); INSERT INTO reversals (gpayref, reversalinitby, reversalinitdate, reason, statu

我在为查询结果分配变量,然后在表中插入该变量的值时遇到问题。该行被插入到表中,但“gPayRef”字段(应该包含变量的值)为空

这是我的代码:-

SET @eReceipt =
  (SELECT DISTINCT `gpayref`
  FROM `TRANSACTION`
  WHERE `ereceipt` = '12345');

INSERT INTO reversals (gpayref, reversalinitby, reversalinitdate, reason, status)
VALUES (@eReceipt,
    reversalinitby,
    Now(),
    reason,
      (SELECT id
       FROM `status`
       WHERE NAME = 'Reversal pending'));

SELECT Row_count() INTO res;      

(从
transaction
中选择DISTINCT
gPayRef`WHERE
erecept
='12345')`是否返回1个值?还要验证另一个子选择
(从
状态中选择id`WHERE NAME='reversion pending')`@KristjanKica是的。从哪里获取
reversalinitby的值,原因
?您是否收到任何错误,正如你在标题中所说的那样?另外,请将您试图进入变量并插入表中的内容的示例数据发布到表中。does
(从
事务
中选择DISTINCT
gPayRef`WHERE
eReceipt
='12345')`返回1值?还请验证其他子选择
(从
状态选择id`WHERE NAME='Reversion pending')`@KristjanKica是的。
reversalinitby,reason
的值从何处获取?正如您在标题中所述,是否有任何错误?此外,请将您试图获取的样本数据发布到变量中并插入到表中。