0

我有一个事件将 NULL 而不是正确的值放在字段中,而请求,一个接一个地手动运行,工作得很好。

该事件每 10 秒通过 MySQL 的调度程序运行一次。

这是我的活动代码:

BEGIN
DECLARE id INT;
DECLARE reqtype varchar(15);
SELECT t1.id into @id from ticket as t1, ticket_request as t2 , ticket_request as t3 WHERE t2.parent_request_id = t1.id and t3.id=t1.id  and t2.request_type<>t3.request_type order by t1.id desc LIMIT 1;
   IF @id > 0
   THEN
        select request_type into @reqtype from ticket_request where id=@id;
        update ticket_request as t set t.request_type=@reqtype where t.parent_request_id=@id;
   END IF;
END

现在,这些请求分别给出:

SELECT t1.id from ticket as t1, ticket_request as t2 , ticket_request as t3 WHERE t2.parent_request_id = t1.id and t3.id=t1.id  and t2.request_type<>t3.request_type order by t1.id desc LIMIT 1;

输出 3118

select request_type from ticket_request where id=3118;

输出 service_request。和...

update ticket_request as t set t.request_type='service_request' where t.parent_request_id=3318;

给出想要的结果。子项的请求类型随父项更新。

遇到事件时,一切正常,但更新在我的 t.request_type 中设置了 NULL。正确的孩子被更新了,只有那个......所以我知道更新正在工作,至少部分有效。

这是之前的数据

id      request_type        parent_request_id
3118    service_request     null
4556    incident            3118

还有我想看的那个

id      request_type        parent_request_id
3118    service_request     null
4556    service_request     3118

任何人都知道出了什么问题?

4

0 回答 0