mysql - টেবিলের নাম মাইএসকিউএল কেস সংবেদনশীল?




case-sensitive mysql5 (4)

টেবিলের নাম মাইএসকিউএল কেস সংবেদনশীল?

আমার উইন্ডোজ ডেভ মেশিনে আমার কোডটি আমার টেবিলগুলি অনুসন্ধান করতে সক্ষম যা সব ছোট হাতের অক্ষর বলে মনে হচ্ছে। যখন আমরা আমাদের ডেটাসেন্টারে পরীক্ষার সার্ভারে স্থাপন করি তখন টেবিল নামগুলি বড় হাতের অক্ষর দিয়ে শুরু হয়।

সার্ভারগুলি আমরা উবুন্টুতে ব্যবহার করি।


  1. ফাইলটি /etc/mysql/my.cnf/etc/mysql/my.cnf

  2. নিম্নলিখিত লাইন যোগ করে ফাইল সম্পাদনা করুন:

    [mysqld]

    lower_case_table_names=1

  3. sudo /etc/init.d/mysql restart

  4. run mysqladmin -u root -p variables | grep table mysqladmin -u root -p variables | grep table এখন lower_case_table_names পরীক্ষা করে দেখুন

এটি কাজ করার জন্য আপনাকে এই টেবিলগুলি পুনরায় তৈরি করতে হতে পারে


এটি lower_case_table_names সিস্টেম পরিবর্তনশীল উপর নির্ভর করে:

show variables where Variable_name='lower_case_table_names'

এর জন্য তিনটি সম্ভাব্য মান রয়েছে:

  • 0 - CREATE TABLE টেবিলের মধ্যে বর্ণিত অক্ষর বা CREATE DATABASE বিবৃতি CREATE DATABASE । নাম তুলনা ক্ষেত্রে সংবেদনশীল।
  • 1 - সারণির নামগুলি ডিস্কের ছোট হাতের অক্ষরে সংরক্ষণ করা হয় এবং নাম তুলনা কেস সংবেদনশীল নয়।
  • 2 - CREATE TABLE টেবিলের মধ্যে বর্ণিত অক্ষর বা CREATE DATABASE বিবৃতি CREATE DATABASE , কিন্তু MySQL তাদের CREATE DATABASE ছোট হাতের অক্ষরে রূপান্তরিত করে। নাম তুলনা কেস সংবেদনশীল নয়।

Documentation


ডাটাবেস এবং টেবিল নাম উইন্ডোজ ক্ষেত্রে সংবেদনশীল নয়, এবং ইউনিক্স বা লিনাক্সের বেশিরভাগ ক্ষেত্রে ক্ষেত্রে সংবেদনশীল।

সমস্যা সমাধানের জন্য নিম্ন_case_table_names 1 সেট করুন

lower_case_table_names = 1

এটি আপনার সমস্ত টেবিল ছোট হাতের অক্ষর তৈরি করবে, আপনি কীভাবে সেগুলি লিখবেন না


মাইএসকিউএল-এ টেবিলের নামগুলি ফাইল সিস্টেম এন্ট্রিগুলি, তাই অন্তর্নিহিত ফাইল সিস্টেমটি যদি কেস হয় তবে এটি অসংবেদক।





mysql5