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

अद्यतन mysql op cc-नंबर के साथ काम नहीं कर रहा है

एक क्रेडिट कार्ड नंबर गणितीय अर्थ में "संख्या" नहीं है, यह केवल अंकों की एक स्ट्रिंग होता है। आपको कभी भी यह पूछने की आवश्यकता नहीं है कि "यह कार्ड नंबर प्लस वन क्या है?" या "...गुना दो?", लेकिन आप शायद पूछना चाहें "इस कार्ड संख्या के पहले चार अंक क्या हैं?" या "आखिरी चार...?"

यदि आप इसे एक संख्या के रूप में मानते हैं, तो यह आपके द्वारा सामान्य रूप से काम करने वाली संख्या से बहुत बड़ी संख्या होगी:44443333322221111 (एक वीज़ा परीक्षण कार्ड संख्या) "4 क्वाड्रिलियन 444 ट्रिलियन 333 बिलियन 322 मिलियन 221 हजार 1 सौ 11" है।

महत्वपूर्ण रूप से, सबसे बड़ी संख्या जो एक हस्ताक्षरित 32-बिट पूर्णांक में संग्रहीत की जा सकती है - जो आपको SQL में "int" निर्दिष्ट करने पर मिलती है - केवल 2 बिलियन से अधिक है, इसलिए कार्ड नंबर फिटिंग के करीब नहीं आता है। आपका डेटाबेस या तो आपको एक त्रुटि देगा, या बस कुछ अन्य नंबर संग्रहीत करेगा जो फिट बैठता है - आपके मामले में, यह केवल उच्चतम संख्या को संग्रहीत कर रहा है।

आप अपने कॉलम को "बिगिन्ट" (64-बिट हस्ताक्षरित, अधिकतम मूल्य लगभग 9 क्विंटल) में बदल सकते हैं, लेकिन आप उन्हें अपने 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. JSON के माध्यम से HTML कोड भेजना

  2. SQL LIKE वास्तव में कैसे काम करता है

  3. MySQL REPLACE INTO का SQL सर्वर 2005 कार्यान्वयन?

  4. एकल HTML तालिका में एकाधिक क्वेरी डेटा (PHP, MySQL)

  5. कोडनिर्देशक सक्रिय रिकॉर्ड कई पसंद के साथ या?