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

डीबीआई परोक्ष रूप से पूर्णांकों को स्ट्रिंग्स में क्यों बदलता है?

जैसा कि @choroba ने अपने उत्तर में नोट किया है, यह डीबीआई नहीं है जो डेटा के साथ कुछ भी कर रहा है। यह बस वही से गुजर रहा है जो ड्राइवर मॉड्यूल (आपके मामले में DBD::mysql) लौटा।

सामान्य इंटरफ़ेस नियम और चेतावनी में DBI डॉक्स का अनुभाग यह कहता है:

मैंने लिखा था कि 64-बिट पूर्णांक का समर्थन करने के लिए पर्ल को कॉन्फ़िगर करना आम बात थी, और लंबे-डबल फ़्लोटिंग पॉइंट प्रकार असामान्य थे। इन दिनों मैं अनुशंसा करता हूं कि ड्राइवर सबसे 'प्राकृतिक' पर्ल प्रकार में मान लौटाएं जो डेटा हानि का जोखिम नहीं उठाता है।

कुछ ड्राइवरों के लिए जिन्हें लागू करना मुश्किल हो सकता है, विशेष रूप से वे जो एक ही हैंडल से कई परिणाम सेटों को वापस करने का समर्थन करते हैं, अलग-अलग संख्या में कॉलम, जैसा कि DBD::mysql करता है।

मैंने DBD::mysql डॉक्स को स्किम किया है लेकिन मैंने इस विषय का कोई उल्लेख नहीं देखा, इसलिए मैंने प्रासंगिक कोड जहाँ मैं देख सकता हूँ कि वर्तमान DBD::mysql है संख्या के रूप में वापसी संख्या। बहुत सारे चेंज लॉग में इस क्षेत्र में हाल के परिवर्तनों के संदर्भ भी हैं। ए> ।

शायद आप DBD::mysql के पुराने संस्करण का उपयोग कर रहे हैं और इसे अपग्रेड करना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Yii ढांचे में mysql_escape_string () का उपयोग कैसे करें?

  2. सिद्धांत 2 DQL MySQL राउंड () के बराबर है?

  3. डालने से पहले पहले से मौजूद रिकॉर्ड की जांच करने का सबसे तेज़ तरीका [mysql_errno ()]

  4. MySQL, सम्मिलन आदेश द्वारा आदेश, कोई छँटाई कॉलम नहीं

  5. MySQL तालिका को गलत तरीके से एन्कोड किए गए डेटा के साथ UTF-8 में कनवर्ट करना