我有一个事件在一个字段中放置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
任何人都知道出了什么问题?