TRIGGER `ecs_order_goods_delete` BEFORE DELETE ON `ecs_order_goods`
FOR EACH ROW BEGIN
IF(old.shipping_status != 2) THEN
UPDATE ecs_goods_spec SET stock=stock+old.goods_number WHERE goods_barCode=old.goods_barCode;
END IF;
IF(NOT EXISTS(SELECT shipping_status FROM ecs_order_goods WHERE order_id=old.order_id AND rec_id!=old.rec_id AND shipping_status !=2)) THEN
UPDATE ecs_order_info SET shipping_status=2,pay_status=2 WHERE order_id=old.order_id;
END IF;
END;这里报:
Can't update table 'ecs_order_goods' in stored function/trigger because it is already used by statement which invoked this stored function/trigger把那个select去掉就没有问题,如果要保留这个select 如何修改,高手指点一下,谢谢
FOR EACH ROW BEGIN
IF(old.shipping_status != 2) THEN
UPDATE ecs_goods_spec SET stock=stock+old.goods_number WHERE goods_barCode=old.goods_barCode;
END IF;
IF(NOT EXISTS(SELECT shipping_status FROM ecs_order_goods WHERE order_id=old.order_id AND rec_id!=old.rec_id AND shipping_status !=2)) THEN
UPDATE ecs_order_info SET shipping_status=2,pay_status=2 WHERE order_id=old.order_id;
END IF;
END;这里报:
Can't update table 'ecs_order_goods' in stored function/trigger because it is already used by statement which invoked this stored function/trigger把那个select去掉就没有问题,如果要保留这个select 如何修改,高手指点一下,谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货