Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL कॉलम NULL पर सेट है लेकिन फिर भी NULL मानों की अनुमति देता है

आप खाली स्ट्रिंग्स डाल रहे हैं, और खाली स्ट्रिंग 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; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Woocommerce:उपयोगकर्ता केवल एक बार उत्पाद खरीदने में सक्षम होते हैं

  2. Laravel वाक्पटु क्वेरी JSON कॉलम कहाँ में है?

  3. क्या mysql इंडेक्सिंग के प्रदर्शन की जांच करने का कोई तरीका है

  4. AWS RDS MySQL में धीमी क्वेरी लॉग को कैसे सक्षम करें

  5. अपने MySQL सर्वर के लिए InnoDB बफर पूल आकार की गणना करना