gpt4 book ai didi

mysql - 使用触发器更新表时出错

转载 作者:行者123 更新时间:2023-11-29 10:18:11 24 4
gpt4 key购买 nike

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

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

无法更新存储函数/触发器中的表“产品”,因为它已被调用此存储函数/触发器的语句使用。

这是我的触发器:

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 脚本引发的。

最佳答案

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

关于mysql - 使用触发器更新表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com