आप खाली स्ट्रिंग्स डाल रहे हैं, और खाली स्ट्रिंग NULL
नहीं हैं , NULL
. की जांच करने के लिए त्रुटि करते हैं:
INSERT INTO `addresses` (`street`, `city`, `state`, `zip`) VALUES (NULL, NULL, NULL, NULL);
और आपको त्रुटि दिखाई देगी। NOT NULL
केवल उन मानों की जांच करता है जो NULL
नहीं हैं ।
खाली स्ट्रिंग को रोकने के लिए या तो आपको triggers
का उपयोग करना होगा। , या खाली स्ट्रिंग्स को NULL
. में बदलने के लिए सर्वर साइड प्रोग्रामिंग भाषा की जांच करें INSERT
करने से पहले query.INSERT
. के लिए एक उदाहरण ट्रिगर ऐसा हो सकता है:(यह सिर्फ एक उदाहरण है)
CREATE TRIGGER avoid_empty
BEFORE INSERT ON addresses
FOR EACH ROW
BEGIN
IF street = '' THEN SET street = NULL END IF;
END;