BEFOREでそれを行うことができます この方法でトリガーする
CREATE TRIGGER tg_bi_mytable
BEFORE INSERT ON mytable
FOR EACH ROW
SET NEW.address1 = IF(EXISTS
(
SELECT *
FROM mytable
WHERE address1 IN(NEW.address1, NEW.address2)
OR address2 IN(NEW.address1, NEW.address2)
), NULL, NEW.address1);
注: SIGNALがないMySQLバージョンを使用しているため 秘訣はNOT NULLに違反することです 同じアドレスの行が見つかった場合の列の1つに対する制約。
こちらがBuild Schemaをクリックします 。これらの挿入は成功しません。