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

MySQL फ़ील्ड प्रकार को INT से VARCHAR में बदलने से पहले INT के रूप में संग्रहीत डेटा प्रभावित होता है

कॉलम प्रकार बदलने से पहले अपने MySQL सर्वर को सख्त मोड में लाएं और सुनिश्चित करें कि आपका varchar(n) कॉलम काफ़ी बड़ा है n सभी पूर्णांकों को रखने के लिए जब वे तार में परिवर्तित हो जाते हैं। यदि आप सख्त मोड में नहीं हैं तो MySQL चुपचाप आपके डेटा को काट देगा अपने स्ट्रिंग आकार में फ़िट होने के लिए :

लेकिन अगर आप सख्त मोड पहला:

mysql> set sql_mode = 'STRICT_ALL_TABLES';
mysql> alter table table_sample change col_sample col_sample varchar(6);

आपको इस तरह एक अच्छा त्रुटि संदेश प्राप्त होगा:

ERROR 1406 (22001): Data too long for column 'col_sample' at row ...

यदि आपके सभी पूर्णांक आपके varchar . में फ़िट नहीं होते हैं ।

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लारावेल रॉ डीबी से एलोक्वेंट

  2. डिफ़ॉल्ट MySQL मान में परिकलन करना

  3. एक जावास्क्रिप्ट ऐरे में mySQL डेटाबेस जानकारी डालना

  4. SqlAlchemy कनेक्शन स्ट्रिंग

  5. मैं mysql में किसी तिथि के सप्ताह का पहला दिन कैसे प्राप्त करूं?