Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

क्या होता है जब हम ALTER TABLE स्टेटमेंट के साथ NOT NULL बाधा लागू करते हैं, एक कॉलम में NULL मान होते हैं?


इस मामले में, MySQL कॉलम के लिए काटे गए डेटा के संबंध में एक त्रुटि संदेश लौटाएगा। इसे प्रदर्शित करने का एक उदाहरण निम्नलिखित है -

उदाहरण

मान लीजिए कि हमारे पास एक टेबल 'टेस्ट 2' है जिसमें दूसरी पंक्ति में कॉलम 'आईडी' में एक नल मान है। अब, यदि हम कॉलम आईडी को NOT NULL घोषित करने का प्रयास करेंगे तो MySQL इस प्रकार त्रुटि लौटाएगा -

mysql> Select * from test2;
+------+--------+
| ID   | Name   |
+------+--------+
| 1    | Gaurav |
| NULL | Rahul  |
+------+--------+
2 rows in set (0.00 sec)
mysql> ALTER TABLE TEST2 MODIFY ID INT NOT NULL;
ERROR 1265 (01000): Data truncated for column 'ID' at row 2
. पर
  1. यदि हम TIMESTAMP CURRENT_TIMESTAMP प्रकार के कॉलम सेट वाली तालिका में खाली मान सम्मिलित करते हैं तो क्या होगा?

    यदि हम INSERT कथन में कुछ भी सम्मिलित नहीं करेंगे, तो टाइमस्टैम्प प्रकार के लिए, यह वर्तमान दिनांक-समय सम्मिलित करेगा। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable    -> (    -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> UserLoginDate ti

  1. रिकॉर्ड के साथ मौजूदा तालिका में एक नया नॉट न्यूल कॉलम जोड़ना

    पहले से बनाई गई तालिका में एक नया NOT NULL कॉलम जोड़ने के लिए, ALTER कमांड का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.60 सेकंड) मौजूदा तालिका में नया NOT NULL कॉलम जोड़ने की क्वेरी निम्नलिखित है - तालिका बदलें डेमोटेबल कॉलम जोड़ें स्टूडेंटएज इंट न्यूल नहीं;क्

  1. MySQL में NULL और NOT NULL रिकॉर्ड वाले कॉलम से केवल NOT NULL मान प्रदर्शित करें

    इसके लिए आप IS NOT NULL प्रॉपर्टी का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1 (ड्यूडेट डेट);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1 मानों (2019-11-10) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (