कभी-कभी आपको MySQL तालिका में डेटा डालने का प्रयास करते समय "गलत स्ट्रिंग मान" त्रुटि मिल सकती है, या बाहरी डेटा को MySQL डेटाबेस में आयात कर सकते हैं। इस लेख में, हम देखेंगे कि MySQL में गलत स्ट्रिंग मान को कैसे ठीक किया जाए।
MySQL में गलत स्ट्रिंग मान को कैसे ठीक करें
यह एक सामान्य त्रुटि है जब आप किसी ऐसी MySQL तालिका में मान सम्मिलित करने का प्रयास करते हैं जिसमें UTF8 एन्कोडिंग या वर्ण सेट नहीं है।
MySQL में लॉग इन करें और अपने डेटाबेस के डिफॉल्ट कैरेक्टर सेट नाम की जांच करने के लिए निम्न कमांड चलाएँ। डेटाबेस_नाम को अपने डेटाबेस नाम से बदलें।
mysql> SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "database_name";
यदि आपके डेटाबेस में UTF8 एन्कोडिंग नहीं है, तो आपको इसे UTF8 में बदलने की आवश्यकता है। इससे पहले, हमें अपने डेटाबेस का बैकअप लेना होगा।
2. बैकअप MySQL डेटाबेस
MySQL से लॉग आउट करें और अपने MySQL डेटाबेस का बैकअप लेने के लिए निम्न कमांड चलाएँ। user_name को बदलें , पास_वर्ड और डेटाबेस_नाम क्रमशः आपके उपयोगकर्ता नाम, पासवर्ड और डेटाबेस नामों के साथ।
$ sudo mysql -u user_name -p pass_word database_name > backup.sql
3. तालिकाओं का वर्ण सेट बदलें
अपने डेटाबेस में सभी तालिकाओं के वर्ण सेट को UTF8 में बदलने के लिए निम्न कमांड चलाएँ। डेटाबेस_नाम को अपने डेटाबेस नाम से बदलें
$ sudo mysql --database=database_name -B -N -e "SHOW TABLES" | awk '{print "SET foreign_key_checks = 0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; SET foreign_key_checks = 1; "}' | mysql --database=database_name
MySQL आपको एक बार में केवल एक टेबल के कैरेक्टर सेट को बदलने की अनुमति देता है। प्रत्येक तालिका के वर्ण सेट को बदलने के लिए अलग-अलग कमांड चलाना कठिन हो सकता है। उपरोक्त आदेश डेटाबेस में सभी तालिकाओं को सूचीबद्ध करता है और उनके वर्ण सेट को एक-एक करके स्वचालित रूप से UTF8 में परिवर्तित करता है।
4. डेटाबेस कैरेक्टर सेट बदलें
MySQL में लॉग इन करें और डेटाबेस के कैरेक्टर सेट को UTF8 में बदलने के लिए निम्न कमांड चलाएँ। डेटाबेस_नाम को डेटाबेस नाम से बदलें।
mysql> ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
अब यदि आप MySQL डेटाबेस में डेटा डालना चाहते हैं, तो उसे त्रुटियाँ नहीं देनी चाहिए। Ubiq डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में उनकी निगरानी करना आसान बनाता है। Ubiq को निःशुल्क आज़माएं।