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

दोहरे डेटा प्रकार MySQL Python में NULL मान सम्मिलित करना

यह पूरी तरह से हैरान करने वाली बात नहीं है। पहले उदाहरण में आप अजगर पूर्वनिर्धारित स्थिरांक सम्मिलित कर रहे हैं None

यह SQL NULL . के बराबर है . दूसरे उदाहरण में आप तालिका में 'कोई नहीं' नामक एक स्ट्रिंग सम्मिलित कर रहे हैं। ये दोनों बहुत अलग हैं। यदि आप डबल या फ़्लोट फ़ील्ड में एक स्ट्रिंग सम्मिलित करते हैं तो आपको सभी प्रकार की त्रुटियां दिखाई देंगी, सबसे अधिक बार, ठीक वही जो आपने देखी है।

पहली बार में यह काम करता है क्योंकि आपने घोषित किया है:

 `float8value` double DEFAULT NULL,

यह NULL को स्वीकार करता है और कोई भी आपकी मान सूची में 8वें स्थान पर नहीं है। जब कई अलग-अलग पैरामीटर का उपयोग किया जा रहा हो, तो नामित पैरामीटर का उपयोग करना हमेशा एक अच्छा विचार होता है ताकि एक नज़र में यह स्पष्ट हो कि प्रत्येक कॉलम के लिए क्या बाध्य किया जा रहा है।

अपडेट:

अपना कोड चलाने के बाद, केवल एक ही निष्कर्ष पर पहुंचा जा सकता है कि आपको print(cursor.statement) का उपयोग करके बग मिल गया है। यह पता लगाना संभव है कि निष्पादित क्वेरी है।

INSERT INTO runsettings (apcrunid,equipment,runnumber,wafer,settingname,intvalue,floatvalue,float8value) 
VALUES (471285,'CT19',7,'271042','Etch Time Min',NULL,NULL,NULL),
       (471285,'CT19',7,'00000','Etch Time Min',NULL,NULL,'None')

यह कोई त्रुटि उत्पन्न नहीं करता है, लेकिन यदि आप मानों के पहले सेट को मिटा देते हैं तो त्रुटि वास्तव में उत्पन्न होती है। मेरा सुझाव है कि एक बग रिपोर्ट दर्ज करें




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SailJS और mySQL कस्टम आईडी नाम ब्लू प्रिंट के साथ काम नहीं कर रहा है

  2. एक क्वेरी में MySQL में एकाधिक पंक्तियों की गणना करना

  3. MySQL में कॉलम मान की घटनाओं की संख्या कैसे बढ़ाएँ?

  4. 'फ़ील्ड सूची' में अज्ञात कॉलम जब तैयार स्टेटमेंट का प्लेसहोल्डर सबक्वेरी में होता है

  5. MySQL कॉन्सटेनेशन ऑपरेटर