Mysql 使用触发器更新表时出错

Mysql 使用触发器更新表时出错,mysql,sql,Mysql,Sql,我有一个触发器设置,每次创建一个新表时,它都会读取varchar中的ID,并将其转换为integer并存储在另一列中 但是,当我运行它时,我遇到以下错误: 无法更新存储函数/触发器中的表“products”,因为调用此存储函数/触发器的语句已使用该表 这是我的触发器: CREATE TRIGGER `var_to_int` AFTER INSERT ON `products` FOR EACH ROW UPDATE `products` SET `int_id`= CAST(`var_id`

我有一个触发器设置,每次创建一个新表时,它都会读取varchar中的ID,并将其转换为integer并存储在另一列中

但是,当我运行它时,我遇到以下错误:

无法更新存储函数/触发器中的表“products”,因为调用此存储函数/触发器的语句已使用该表

这是我的触发器:

CREATE TRIGGER `var_to_int` AFTER INSERT ON `products`
FOR EACH ROW UPDATE `products` 
SET `int_id`= CAST(`var_id` AS INT)
WHERE `int_id` IS NULL OR `int_id` = ''
我如何防止这种情况


此错误由在表中创建新项的PHP脚本引发。

无法更新表本身。
触发器在更新时启动,然后必须执行更新。形成了一个无止境的循环。尝试使用一个附加的表来存储临时数据,以便以后更新正确的表

Post整个触发器请创建。@DavidBumann Post。请看一看……但插入后设置为。我只想将VAR转换为INT…之后。这无关紧要。您不能在施加触发器的表上执行DML指令