dev.mysql.com से लिया गया :
डेटाबेस या टेबल नामों के लेटरकेस से उत्पन्न होने वाली डेटा ट्रांसफर समस्याओं से बचने के लिए, आपके पास दो विकल्प हैं:
- सभी सिस्टम पर lower_case_table_names=1 का उपयोग करें। इसके साथ मुख्य नुकसान यह है कि जब आप SHOW TABLES या SHOW DATABASES का उपयोग करते हैं, तो आप उनके मूल लेटरकेस में नाम नहीं देखते हैं।
- Unix पर lower_case_table_names=0 और windows पर lower_case_table_names=2 का उपयोग करें। यह डेटाबेस और टेबल नामों के लेटरकेस को सुरक्षित रखता है। इसका नुकसान यह है कि आपको यह सुनिश्चित करना होगा कि आपके स्टेटमेंट हमेशा आपके डेटाबेस और टेबल नामों को विंडोज पर सही लेटरकेस के साथ संदर्भित करते हैं। यदि आप अपने बयानों को यूनिक्स में स्थानांतरित करते हैं, जहां लेटरकेस महत्वपूर्ण है, तो लेटरकेस गलत होने पर वे काम नहीं करते हैं।
अपवाद:यदि आप InnoDB तालिकाओं का उपयोग कर रहे हैं और आप इन डेटा स्थानांतरण समस्याओं से बचने की कोशिश कर रहे हैं, तो आपको सभी प्लेटफ़ॉर्म पर लोअरकेस_टेबल_नाम को 1 पर सेट करना चाहिए ताकि नामों को लोअरकेस में परिवर्तित किया जा सके।
यदि आप यूनिक्स पर लोअर_केस_टेबल_नाम सिस्टम वैरिएबल को 1 पर सेट करने की योजना बना रहे हैं, तो आपको पहले अपने पुराने डेटाबेस और टेबल नामों को लोअरकेस में बदलना होगा, इससे पहले कि आप mysqld को रोकें और इसे नई वेरिएबल सेटिंग के साथ पुनरारंभ करें।