Apakah nama tabel dalam case MySQL sensitif?
Pada mesin pengembangan Windows saya, kode yang saya miliki dapat menanyakan tabel saya yang nampaknya huruf kecil semua. Ketika saya menyebarkan ke server pengujian di pusat data kami, nama tabel tampak mulai dengan huruf besar.
Server yang kami gunakan semuanya ada di Ubuntu.
mysql
case-sensitive
mysql5
benstpierre
sumber
sumber
Jawaban:
Secara umum:
Basis data dan nama tabel tidak peka huruf besar-kecil pada Windows, dan peka huruf besar-kecil pada sebagian besar varietas Unix.
Orang dapat mengkonfigurasi bagaimana nama tabel disimpan di disk menggunakan variabel sistem
lower_case_table_names
(dalam file konfigurasi my.cnf di [mysqld]).Baca bagian: 10.2.2 Sensitivitas Huruf Pengidentifikasi untuk informasi lebih lanjut.
sumber
Basis data dan nama tabel tidak peka huruf besar-kecil pada Windows, dan huruf besar-kecil di sebagian besar varietas Unix atau Linux.
untuk mengatasi masalah ini atur lower_case_table_names menjadi 1
ini akan membuat semua tabel Anda menjadi huruf kecil, tidak peduli bagaimana Anda menulisnya
sumber
Nama tabel di MySQL adalah entri sistem file, sehingga tidak peka huruf besar-kecil jika sistem file yang mendasarinya.
sumber
Itu tergantung pada
lower_case_table_names
variabel sistem:Ada tiga nilai yang mungkin untuk ini:
0
- huruf yang ditentukan dalam pernyataanCREATE TABLE
atauCREATE DATABASE
. Perbandingan nama adalah case-sensitive.1
- Nama tabel disimpan dalam huruf kecil pada disk dan perbandingan nama tidak peka huruf besar-kecil.2
- huruf yang ditentukan dalam pernyataanCREATE TABLE
atauCREATE DATABASE
, tetapi MySQL mengubahnya menjadi huruf kecil saat pencarian. Perbandingan nama tidak peka huruf besar-kecil.Dokumentasi
sumber
Temukan file di
/etc/mysql/my.cnf
Edit file dengan menambahkan baris berikut:
[mysqld]
lower_case_table_names=1
sudo /etc/init.d/mysql restart
menjalankan
mysqladmin -u root -p variables | grep table
untuk memeriksa bahwalower_case_table_names
adalah1
sekarangAnda mungkin perlu membuat kembali tabel ini untuk membuatnya berfungsi
sumber