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

MySQL एक NOT NULL कॉलम जोड़ें

MySQL में, प्रत्येक कॉलम प्रकार में एक "अंतर्निहित डिफ़ॉल्ट "मान

अगर एक NOT NULL कॉलम टेबल में जोड़ा जाता है , और कोई स्पष्ट डिफ़ॉल्ट निर्दिष्ट नहीं है, नए कॉलम डेटा को पॉप्युलेट करने के लिए निहित डिफ़ॉल्ट मान का उपयोग किया जाता है। डिफ़ॉल्ट मान निर्दिष्ट होने पर समान नियम लागू होते हैं।

जैसे, मूल डीडीएल वही परिणाम देता है:

-- After this, data will be the same, but schema has an EXPLICIT DEFAULT
ALTER TABLE t ADD c varchar(10) NOT NULL DEFAULT ''
-- Now we're back to the IMPLICIT DEFAULT (MySQL stores NULL internally)
ALTER TABLE t ALTER c DROP DEFAULT

"सख्त" मोड सेटिंग डिफ़ॉल्ट मानों पर निर्भर DML कथनों को प्रभावित करती है, लेकिन स्तंभ जोड़े जाने पर अंतर्निहित डिफ़ॉल्ट उपयोग को प्रभावित नहीं करती है।

यह रहा एक sqlfiddle "प्रूफ" वह सख्त मोड ALTER TABLE .. ADD स्टेटमेंट पर लागू नहीं होता है।

यह एक MySQL सुविधा है। अन्य इंजन, जैसे SQL सर्वर, को ऐसे स्कीमा परिवर्तनों के लिए एक स्पष्ट DEFAULT (या NULL कॉलम) बाधा की आवश्यकता होती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा/जेडीबीसी में इनो डीबी डेडलॉक्स को सही तरीके से कैसे संभालें?

  2. साझा को अनन्य लॉक में अपग्रेड करते समय MySQL गतिरोध से बचना

  3. PHP:यदि रिकॉर्ड मौजूद है तो HTML प्रदर्शित करें, अन्यथा कुछ भी प्रदर्शित न करें

  4. PHP/MySQL के साथ फ़िल्टरिंग खोजें

  5. डेटा के बिना MySQL निर्यात स्कीमा