कॉलम प्रकार बदलने से पहले अपने 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
. में फ़िट नहीं होते हैं ।
और, निश्चित रूप से, तालिका को बदलने का प्रयास करने से पहले आपके पास अपने डेटाबेस का एक नया सत्यापित बैकअप होगा। और सत्यापित . द्वारा मेरा मतलब है कि आपने अपने बैकअप को एक परीक्षण डेटाबेस में सफलतापूर्वक पुनर्स्थापित कर लिया है।