我有一个在其中存储父级和子级记录的表。
我正在尝试创建一个触发器,该触发器将在删除父级时删除所有子级记录:
Delete From tbl Where ParentId = OLD.Id
虽然我可以成功保存触发器,但是在删除时出现此错误:
错误1442:可以在存储的函数/触发器中更新表``bl’‘,因为调用该语句的语句已经使用了该表
我究竟做错了什么?
看来这是不可能的:
您无法删除已激活触发器的表中的行。
您可能会考虑的其他一些选择:
问题内容: 范围:两个表。创建新的顾客时,他们会将有关他们的一些信息存储到第二张表中(这也使用触发器完成,它可以按预期工作)。这是我的表结构和关系的示例。 表1-> 顾客 表2-> patron_info 管理员可以管理顾客。当他们选择移走顾客时,将顾客从 桌子1 移开。此时, 表2 没有任何反应。 我只是想创建一个触发器,以便在表1的项目已删除时从表2中删除。这是我尝试过的… 最初,我尝试删除触
问题内容: 我有一张叫的桌子。 它包含名为和的字段。现在,我想从表中删除所有包含表中已经包含的名字和姓氏的记录。 我使用mysql数据库,并且是表中的主键。 问题答案: 删除之后,将删除所有重复项,并为您提供最新的CustomerID 虽然有警告提示。我不知道您的用例,但是完全可以让两个人使用完全相同的名字(我们甚至一次都具有相同的地址)。
主要内容:基本语法,删除触发器修改触发器可以通过删除原触发器,再以相同的名称创建新的触发器。 基本语法 与其他 MySQL 数据库对象一样,可以使用 DROP 语句将触发器从数据库中删除。 语法格式如下: DROP TRIGGER [ IF EXISTS ] [数据库名] <触发器名> 语法说明如下: 1) 触发器名 要删除的触发器名称。 2) 数据库名 可选项。指定触发器所在的数据库的名称。若没有指定,则为当前默认的数据库。
问题内容: 有没有一种方法可以删除带有特定作业的预定触发器?似乎删除触发器的唯一方法是删除整个作业,然后重新注册该作业并触发。 我有一份可能有100多个触发器的作业,我真的不想删除该作业,而只需要删除1个触发器就重新注册所有触发器。 另外,是否有一种方法可以在配置触发器后立即停止调度程序执行作业? 谢谢 问题答案: 尝试 这接受触发器和组名作为参数,并且只会删除指定的触发器,而不是作业。 Quar
问题内容: 我需要创建一个插入和删除触发器,两者都会做同样的事情。 我可以在一个触发器中创建它吗? 还是我需要两个单独的? 我环顾四周,似乎所有人都有一个要删除,另一个要插入。 问题答案: MySql不允许在同一触发器上发生多个事件。 一种选择是将您的代码放入一个过程中,并使每个触发器调用相同的过程-根据需要将尽可能多的旧行/新行信息传递给proc。
以下是我想做的: 当表中有新的 时,我需要通过设置 ' 来更新中的行 = ,以表示特定(旧)帐户已被编辑。 要求不是操作新插入的列,而是使用< code>pk = NEW.edit_on操作已经存在的列 但是,我无法更新同一个表: 请建议一个解决方法 PS:我已经完成了更新同一表后在触发器中更新表、插入到同一表中触发器mysql、在同一表上用插入后触发器更新以及在表上用Insert和update在