#1442 - 无法更新表格'保险'在存储函数/触发器中,因为它已被调用此存储函数/触发器的语句使用

时间:2016-12-16 11:01:09

标签: mysql

我正在创建这样的触发器:

DROP TRIGGER IF EXISTS `trigger`;CREATE DEFINER=`root`@`localhost` TRIGGER `trigger` AFTER UPDATE ON `INSURANCE` FOR EACH ROW update INSURANCE set LAT = 91.21

当我运行这个SQL查询时,我收到了这个错误。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

请看下面的行,您在同一个表上定义和更新触发器,也称为Recursive Trigger,MySQL不支持。

AFTER UPDATE ON `INSURANCE` 
FOR EACH ROW update INSURANCE

答案 1 :(得分:0)

首先,Rahul是对的,你定义的是MySQL不支持的递归触发器。要获得您想要的结果,您可以尝试使用BEFORE UPDATE触发器并使用

将值设置为LAT
DROP TRIGGER IF EXISTS `trigger`;
CREATE DEFINER=`root`@`localhost` TRIGGER `trigger` BEFORE UPDATE ON `INSURANCE` FOR EACH ROW SET NEW.LAT =  91.21;