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

VARCHAR(4) चार से अधिक वर्णों को संग्रहीत करता है

अगर आप ऐसा कर रहे हैं:

  1. ऑब्जेक्ट बनाएं या लोड करें $o
  2. असाइन करें '12345' विचाराधीन संपत्ति/स्तंभ के लिए।
  3. सहेजें $o और MySQL को '1234' . के मान को छोटा करने दें ।
  4. प्रॉपर्टी/कॉलम को $o में एक्सेस करें और '12345' get प्राप्त करें वापस।

तब आप अपने डेटाबेस को चुपचाप अपने डेटा को प्रबंधित करने देने की समस्याओं में से एक देख रहे हैं।

सहेजना सफल होता है, आपके ऑब्जेक्ट को पता नहीं है कि MySQL ने डेटा को छोटा कर दिया है इसलिए यह '12345' रखता है डेटाबेस से उस कॉलम को फिर से लोड करने के बजाय, और आपके हाथ में असंगत डेटा है।

यदि आप MySQL पर निर्भर हैं और चुपचाप अपना डेटा काट रहे हैं तो आपको शायद यह करना होगा:

  1. अपना ऑब्जेक्ट बनाएं/लोड करें।
  2. गुण अपडेट किए गए।
  3. ऑब्जेक्ट सेव करें।
  4. वस्तु के लिए अपना स्थानीय संदर्भ फेंक दें।
  5. यह सुनिश्चित करने के लिए डेटाबेस से इसे नए सिरे से लोड करें कि आपको वास्तविक . मिलता है मान।

मैं 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. PHP का उपयोग करके यादृच्छिक mysql आईडी बनाने का सबसे अच्छा तरीका क्या है?

  2. Mysqli दो तालिकाओं में से चुनें

  3. MySQL में नाम utf8 सेट करें?

  4. तालिका अपडेट होने पर MySQL ट्रिगर से ईमेल भेजें

  5. ओपनएसएसएल - त्रुटि 18 पर 0 गहराई देखने पर:स्व-हस्ताक्षरित प्रमाणपत्र