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

यदि मैं ENUM में अमान्य मान डालता हूं तो MySQL क्या लौटाता है?

<घंटा/>

यदि सख्त SQL मोड अक्षम है और हम ENUM में अमान्य मान (जो अनुमत गणना मानों की सूची में नहीं है) डालते हैं तो MySQL एक त्रुटि फेंकने के बजाय एक खाली स्ट्रिंग सम्मिलित करेगा। लेकिन अगर सख्त SQL मोड सक्षम है तो MySQL अमान्य मान डालने पर एक त्रुटि देता है।

उदाहरण

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

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

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

उपरोक्त क्वेरी से, हम देख सकते हैं कि MySQL ने अमान्य स्ट्रिंग के स्थान पर एक खाली स्ट्रिंग डाली है और कोई त्रुटि नहीं डाली गई है।

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

mysql> Select Grade + 0 from result;
+-----------+
| Grade + 0 |
+-----------+
| 0         |
+-----------+
1 row in set (0.00 sec)

लेकिन, SQL सख्त मोड को सक्षम करने के बाद, जैसा कि नीचे क्वेरी में किया गया है, MySQL ENUM में अमान्य स्ट्रिंग डालने पर एक त्रुटि देता है।

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

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

  1. जावा का उपयोग करके MySQL कॉलम मान में DATE को कैसे सम्मिलित करें?

    इसके लिए आप Java से ReadyedStatement का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं जिसमें एक कॉलम ArrivalDate जिसमें DATE टाइप हो - टेबल बनाएं DemoTable( PassengerId int, PassengerName varchar(40), ArrivalDate date);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.82 सेकंड) दिनांक डालने के लिए जावा कोड इस प्रका

  1. एक MySQL तालिका में JSON डालें?

    आइए हम एक टेबल बनाते हैं और JSON टाइप के साथ एक कॉलम वैल्यू सेट करते हैं तालिका बनाएं DemoTable1832 ( ListOfNames JSON );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1832 (ListOfNames) मानों में डालें ([एडम, जॉन, सैम]); क्वेरी ठ

  1. जावा एप्लिकेशन एक MySQL डेटाबेस में शून्य मान डालने के लिए?

    जावा के साथ शून्य मान सेट करने के लिए, कथन इस प्रकार है - ps.setNull(yourIndex, Types.NULL); आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1893 ( FirstName varchar(20) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) जावा कोड इस प्रकार है - आयात करें; तैयार स्टेटमेंट पीएस =अशक्त; कोशिश करें {con=Dr