आप इसे 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
जब समान पते वाली पंक्तियाँ पाई गई हों, तो किसी एक स्तंभ पर बाधा उत्पन्न हो जाती है।
यह रहा SQLFiddle
डेमो। अंतिम सम्मिलित कथनों में से किसी एक पर टिप्पणी रद्द करें और Build Schema
click पर क्लिक करें . ये प्रविष्टियां सफल नहीं होंगी.