データベースにMySqlを使用しており、テーブル「Person」があります。とりわけ、それ自体との関係「Person_MarriedTo」が foreigh_key として格納されています。
全員が結婚しているわけではないため、この関係は null になる可能性があります。私がやりたいことは、このフィールドを自動的に更新できるようにすることです。
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$$