删除MySql之前触发

rta*_*oni 4 mysql triggers

我有一个名为user的表.此表具有department表的外键.一个用户可以与一个部门相关联.在删除部门之前,我想将任何用户(具有该部门ID)设置为默认值(1)以避免参照完整性错误.

你知道一个很好的例子吗?大多数示例显示触发器应用于一个表.此处触发器应在部门上触发,但更改用户表中的值.

谢谢.

And*_*est 10

我没有测试过,但根据文档,这看起来是正确的:

CREATE TRIGGER update_user_before_delete BEFORE DELETE ON department
  FOR EACH ROW BEGIN
    UPDATE user SET department = 1 WHERE department = OLD.department;
  END;
Run Code Online (Sandbox Code Playgroud)

  • 您可能需要将分隔符更改为";"以外的其他分隔符 创建触发器.否则mysql会尝试解析语句,直到第一个分号. (6认同)