mysql error 1442_什么是mysql错误1442的真正原因?

好吧,我已经在互联网上找了很多地方的

mysql错误#1442的原因说

Can’t update table ‘unlucky_table’ in stored function/trigger because

it is already used by statement which invoked this stored

function/trigger

有人说这是mysql中的一个错误或它没有提供的功能.

现在我无法理解为什么这是递归的.我有一个案例,其中我有2个表table1和table2,我运行一个SQL查询作为

update table1 set avail = 0 where id in (select id from table2 where duration < now() - interval 2 hour);

现在我在table1上有一个更新后的触发器

CREATE TRIGGER trig_table1 AFTER UPDATE ON table1

FOR EACH ROW begin

if old.avail=1 and new.avail=0 then

delete from table2 where id=new.id;

end if;

现在,当我执行更新查询时,我得到1442错误.

在这种情况下递归是什么?

is this error a lack of feature in mysql?

OR

does this have to do with how mysql executes queries?

OR

is there something logically wrong with executing such queries?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值