我不是数据库相关部分的经验丰富的人。 这是我的疑问。我正在使用MySQL 我有两张桌子假设
我为表项目创建了两个触发器
与文件夹和项目存在外键关系。
即folder
表中的folder_id在'project'表中引用。
我在项目表中使用“设置空”设置“ ON DELETE ”操作。
即当folder
表中删除“ folder_id ”时,MySQL将为那些已删除的行设置NULL“ folder_id ”
在我的“trgr_project_before_update”触发器中,我有一些代码可以检查
NEW.folder_id IS NULL THEN
--some code are here
END IF;
当我从文件夹表中删除一个“ folder_id ”时,所有行都将“ folder_id ”设置为NULL我认为更新表格。 但是触发器“trgr_project_before_update”不起作用(我的检查中的代码)为什么会这样。
答案 0 :(得分:0)
它似乎是一个MySQL错误 - bugs.mysql.com/bug.php?id=11472
当由于表上的外键定义而间接更新/删除表的行时,该表上的触发器不会按要求执行
他们说“我们应该修复5.1”请查看MySQL版本。