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

Mysql डीबी में बड़ी संख्या में संग्रहित करने में समस्या

आप स्पष्ट रूप से उस आईडी को बनाने के लिए PHP का उपयोग कर रहे हैं।

चूंकि आपने यह उल्लेख नहीं किया कि वास्तव में क्या हो रहा है, मैं आपके डेटाबेस डिज़ाइन के लिए केवल कुछ कारण मान सकता हूं।

सबसे पहले, आप उस नंबर को bigint . के रूप में स्टोर कर सकते हैं और नहीं varchar . यह एक पूर्णांक है जिसे आप सहेज रहे हैं, मुझे कोई कारण नहीं दिखता कि आप वर्चर का उपयोग क्यों करेंगे और स्वाभाविक रूप से आवश्यकता से अधिक स्थान बर्बाद करेंगे।bigint एक नंबर को स्टोर करने के लिए 8 बाइट्स का उपयोग करता है। इसका मतलब है कि वर्चर फ़ील्ड में संग्रहीत 8 से अधिक अंकों वाली प्रत्येक संख्या bigint की तुलना में अधिक स्थान का उपयोग करेगी फ़ील्ड जो 2^64 तक संख्याओं को संग्रहीत कर सकती है।

दूसरा, सुनिश्चित करें कि आप अपने गणना ऑपरेशन के परिणाम डीबी को भेजने से पहले किसी भी संख्या स्वरूपण का उपयोग नहीं करते हैं। मैंने आपके द्वारा पोस्ट किए गए पूर्णांक को कॉपी/पेस्ट किया (10000000754987) और PHP स्वचालित रूप से इसे वैज्ञानिक नोटेशन में परिवर्तित नहीं करता है, इसलिए मेरा अनुमान है कि उस संख्या पीढ़ी के साथ पृष्ठभूमि में आपके पास कुछ और चल रहा है - यदि संभव हो तो इसे बंद कर दें और स्टोर करें उपयुक्त फ़ील्ड प्रकार (बिगिन्ट) में संख्या। यदि आप अपने ऐप के बारे में अतिरिक्त जानकारी पोस्ट करते हैं और यह क्या करता है, तो यह भी उपयोगी होगा, क्योंकि त्रुटि हमेशा वह नहीं होती जहां लोग हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql कार्यक्षेत्र में Google क्लाउड SQL को कनेक्ट नहीं कर सकता

  2. MySQL से अजगर/पांडा/सुन्न सरणी में संख्यात्मक डेटा लोड करने का सबसे तेज़ तरीका

  3. जावा से MySQL से कनेक्ट नहीं हो सकता:MySQL ड्राइवर कनेक्शन तर्क के अंदर NullPointerException

  4. क्या mysql कथन में एप्रीओरी एसोसिएशन नियम चलाना संभव है?

  5. पदावनत MySql फ़ंक्शंस