Puoi farlo con un BEFORE
attivare in questo modo
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);
Nota: Dato che stai usando una versione di MySQL che manca di SIGNAL
il trucco è violare NOT NULL
vincolo su una delle colonne quando sono state trovate righe con lo stesso indirizzo.
Ecco SQLFiddle
demo. Decommenta una delle ultime istruzioni di inserimento e fai clic su Build Schema
. Questi inserti non avranno successo.