Можете да го направите с 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);
Забележка: Тъй като използвате версия на MySQL, в която липсва SIGNAL
номерът е да се наруши NOT NULL
ограничение за една от колоните, когато са открити редове със същия адрес.
Ето SQLPiddle
демонстрация. Декоментирайте един от последните изрази за вмъкване и щракнете върху Build Schema
. Тези вмъквания няма да успеят.