我的触发器看起来像这样:
CREATE TRIGGER addATicket AFTER INSERT ON ticket FOR EACH ROW BEGIN
declare numTicket int(2) default 0;
select count(*) into numTicket from ticket
where (ticket.ticket_id != new.ticket_id)
and (ticket.seat_code = new.seat_code);
if (numTicket > 0) then
delete from ticket where ticket_id= new.ticket_id;
end if;END
但是我的工作台发现错误:
错误代码:1442。无法更新表格'在存储的函数/触发器中,因为它已被调用此存储函数/触发器的语句使用。
我该如何解决这个问题。请给我一个帮助。
答案 0 :(得分:0)
这很可能是因为你的主INSERT
查询正在触发TRIGGER
对该表进行行级别锁定,因此你的触发器也在抱怨它。
很可能您想要将触发器定义从AFTER INSERT ON ticket
更改为BEFORE INSERT ON ticket
(我的意思是使用BEFORE TRIGGER
代替。)
在这里看到几乎相似的帖子