Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengubah nama tabel MySQL di server Linux menjadi tidak peka huruf besar-kecil?

Sensitivitas huruf besar/kecil MySQL secara default ditangani oleh sistem file, itulah sebabnya Anda menemukan perbedaan ini:

9.2.2. Sensitivitas Huruf Pengidentifikasi

Di MySQL, database sesuai dengan direktori dalam direktori data. Setiap tabel dalam database sesuai dengan setidaknya satu file dalam direktori database (dan mungkin lebih, tergantung pada mesin penyimpanan). Akibatnya, sensitivitas kasus dari sistem operasi yang mendasari berperan dalam sensitivitas kasus nama database dan tabel. Ini berarti database dan nama tabel tidak peka huruf besar/kecil di Windows, dan peka huruf besar/kecil di sebagian besar jenis Unix. Satu pengecualian penting adalah Mac OS X, yang berbasis Unix tetapi menggunakan tipe sistem file default (HFS+) yang tidak peka huruf besar/kecil. Namun, Mac OS X juga mendukung volume UFS, yang peka huruf besar/kecil seperti halnya pada Unix mana pun. Lihat Bagian 1.8.4, “Ekstensi MySQL ke SQL Standar”.

Untungnya, kalimat berikutnya dapat membantu Anda:

lower_case_table_names variabel sistem juga memengaruhi cara server menangani sensitivitas huruf besar-kecil, seperti yang dijelaskan nanti di bagian ini.

lower_case_table_names uraian:

Jika diatur ke 0, nama tabel disimpan seperti yang ditentukan dan perbandingan peka huruf besar/kecil. Jika diatur ke 1, nama tabel disimpan dalam huruf kecil pada disk dan perbandingan tidak peka huruf besar/kecil. Jika diatur ke 2, nama tabel disimpan seperti yang diberikan tetapi dibandingkan dalam huruf kecil. Opsi ini juga berlaku untuk nama database dan alias tabel. Untuk informasi tambahan, lihat Bagian 9.2.2, “Sensitivitas Huruf Pengidentifikasi”.

Anda tidak boleh menyetel variabel ini ke 0 jika Anda menjalankan MySQL pada sistem yang memiliki nama file case-insensitive (seperti Windows atau Mac OS X). Jika Anda menyetel variabel ini ke 0 pada sistem tersebut dan mengakses nama tabel MyISAM menggunakan huruf besar yang berbeda, kerusakan indeks dapat terjadi. Pada Windows nilai defaultnya adalah 1. Pada Mac OS X, nilai defaultnya adalah 2.

Jadi sepertinya Anda harus mengatur lower_case_table_names ke 1 dalam file konfigurasi MySQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan session_register()

  2. Belajar MySQL / MariaDB untuk Pemula – Bagian 1

  3. Apakah kunci utama secara otomatis diindeks di MySQL?

  4. Menyebarkan Server Percona ke Cloud Hibrida

  5. Hitung persentil di MySQL berdasarkan total