我正在为我的数据库使用 MySql,并且我有一个表“Person”。除其他外,它包含与自身“Person_MarriedTo”的关系,存储为foreigh_key;
这种关系可以是空的,因为不是每个人都结婚了。我想要做的是这个字段可以自动更新。
如果我添加 A 与 B 结婚,则 B 与 A 结婚 如果 B 与 A 离婚,则 A 也与 B 离婚
我认为触发器是可行的方法,但我无法让我的代码按照我想要的方式工作。任何见解将不胜感激。
这是我的触发器代码:
USE `mydb`;
DELIMITER $$
CREATE TRIGGER `Person_BUPD` BEFORE UPDATE ON Person FOR EACH ROW
BEGIN
IF OLD.Person_MariedTo != NULL THEN
UPDATE Person SET Person_MariedTo = NULL WHERE UID_Person = OLD.Person_MariedTo;
END IF;
UPDATE Person SET Person_MariedTo = OLD.UID_Person WHERE UID_Person = NEW.Person_MariedTo;
END$$