Anda dapat melakukannya dengan BEFORE
memicu dengan cara ini
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);
Catatan: Karena Anda menggunakan versi MySQL yang tidak memiliki SIGNAL
triknya adalah melanggar NOT NULL
kendala pada salah satu kolom ketika baris dengan alamat yang sama telah ditemukan.
Ini SQLFiddle
demo. Batalkan komentar salah satu pernyataan sisipan terakhir dan klik Build Schema
. Sisipan ini tidak akan berhasil.