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

MySQL कैसे एन्यूमरेशन के लिए खाली और अशक्त मानों को संभालता है?

<घंटा/>

MySQL केवल गणना के लिए खाली मान स्वीकार करता है यदि SQL मोड TRADITIONAL, STRICT_TRANS_TABLES या STRICT_ALL_TABLES के रूप में सेट नहीं है। अन्यथा, MySQL खाली मान स्वीकार नहीं करेगा और एक त्रुटि फेंकता है। जैसा कि हम जानते हैं कि प्रत्येक एन्यूमरेशन वैल्यू में इंडेक्स वैल्यू होती है, खाली वैल्यू में 0 इंडेक्स वैल्यू होगी।

उदाहरण

mysql> SET SQL_MODE ='Traditional';
Query OK, 0 rows affected (0.00 sec)

mysql> Insert into result(id, name,grade) values(100, 'Raman', '');
ERROR 1265 (01000): Data truncated for column 'Grade' at row 1

अब, SQL मोड बदलने के बाद हम खाली स्ट्रिंग को इस प्रकार सम्मिलित करने में सक्षम होंगे -

mysql> Set SQL_MODE ='';
Query OK, 0 rows affected (0.00 sec)

mysql> Insert into result(id, name, grade) values(100, 'Raman', '');
Query OK, 1 row affected, 1 warning (0.04 sec)

mysql> select * from result;
+-----+-------+-------+
| Id  | Name  | Grade |
+-----+-------+-------+
| 100 | Raman |       |
+-----+-------+-------+
1 row in set (0.00 sec)

MySQL केवल गणना के लिए NULL मान स्वीकार करता है यदि हम ENUM कॉलम के साथ NOT NULL निर्दिष्ट नहीं करते हैं। जैसा कि हम जानते हैं कि प्रत्येक एन्यूमरेशन वैल्यू का एक इंडेक्स वैल्यू होता है, NULL का इंडेक्स वैल्यू NULL होता है।

उदाहरण

mysql> Insert into result(id, name, grade) values(101, 'Rahul', NULL);
Query OK, 1 row affected (0.04 sec)

उपरोक्त क्वेरी में NULL मान सम्मिलित होगा क्योंकि हम ENUM कॉलम घोषणा में NOT NULL निर्दिष्ट नहीं करते हैं।

mysql> select * from result;
+-----+-------+-------+
| Id  | Name  | Grade |
+-----+-------+-------+
| 100 | Raman |       |
| 101 | Rahul | NULL  |
+-----+-------+-------+
2 rows in set (0.00 sec)

  1. खाली मानों को NULL में बदलने के लिए MySQL क्वेरी?

    SET और WHERE का उपयोग करके खाली मानों को NULL में बदलना आसान है। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। हमने यहां कुछ खाली मान भी सेट किए हैं - DemoTable1315 मान (AUS) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभा

  1. MySQL में शून्य मानों को अनदेखा करें और शेष मान प्रदर्शित करें

    गैर-शून्य मानों को खोजने और उन्हें प्रदर्शित करने के लिए IS NOT NULL का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.52 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल 1458 मानों में डालें (एडम स्मिथ, नल); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.

  1. MySQL में NULL मानों के लिए 1 प्रदर्शित करें

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1963 (काउंटर इंट);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1963 मानों में डालें (NULL); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.00 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्