我有一个事件将 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
任何人都知道出了什么问题?