Masalah Case-Sensitive pada Nama Tabel di MySQL
June 1st, 2011, Written by: | Categories: Tutorial

Sebagai seorang programmer PHP memang disarankan untuk menggunakan sistem operasi Linux untuk mengembangkan website. Hal ini dikarenakan rata-rata hosting dengan web server PHP menggunakan Linux sebagai sistem operasi sehingga kompabilitas lebih terjamin dan kemungkinan terjadinya kesalahan (error) juga dapat ditekankan.

MySQL pada sistem operasi Windows secara otomatis akan mengubah nama tabel menjadi huruf kecil sehingga bermasalah bila menggunakan huruf besar dalam penamaan tabel.

MySQL pada sistem operasi Windows secara otomatis akan mengubah nama tabel menjadi huruf kecil sehingga bermasalah bila menggunakan huruf besar dalam penamaan tabel.

Sayangnya, kebanyakkan orang termasuk programmer lebih memilih untuk menggunakan sistem operasi Windows ketimbang Linux. Sebenarnya tidak menjadi masalah bila menggunakan sistem operasi selain Linux untuk mengembangkan website yang berbasis PHP. Hanya saja kita harus mengetahui akan perbedaan dari kedua sistem operasi tersebut agar bisa terhindar dari permasalahan.

Salah satu perbedaan yang paling fatal adalah Case-Sensitive. Seperti yang kita ketahui, sistem operasi Windows tidak membedakan antara huruf besar dan huruf kecil sehingga mengangap 2 huruf itu sama seperti kata “computesta” dianggap sama dengan kata “ComPuTesTa”. Sedangkan kata “computesta” dan “ComPuTesTa” dianggap beda pada sistem operasi Linux. Nah, jadi apa kaitannya dengan pengembangan website?

Hal yang sering dilakukan oleh programmer terutama pemula pada saat mengembangkan website adalah tidak konsisten saat mengetik huruf besar dan huruf kecil khususnya pada saat melakukan Query pada Database. Memang masalah ini sangat sepele tetapi dampaknya sangat besar. Oleh karena itu, penulis menyarankan untuk menggunakan huruf kecil saja saat menentukan nama Tabel dan Field pada Database ataupun nama file (misalnya gambar, Javascript, CSS, Flash dan lain-lain) dan menggunakan underscore “_” sebagai pemisah kata.

Bila Database yang digunakan memang mengharuskan untuk menggunakan huruf besar pada nama Tabel sedangkan pada saat pembuatan Database di MySQL (melalui PHPMyAdmin) di sistem operasi Windows maka nama Field tersebut akan secara otomatis diubah menjadi huruf kecil. Sehingga ketika Database tersebut di-export dan digunakan pada Hosting ataupun sistem operasi Linux maka akan muncul pesan kesalahan.

Sebenarnya terdapat sebuah solusi untuk menyelesaikan masalah tersebut agar MySQL mendukung Case-Sensitive pada nama Tabel di sistem operasi Windows. Yaitu dengan menambahkan perintah “lower_case_table_names=0″ pada file “my.ini” yang berada di directory MySQL.

Pada artikel ini, penulis akan menjelaskan cara menambahkan syntax “lower_case_table_names=0″ pada webserver WampServer. (Catatan: Diharapkan melakukan backup terlebih dahulu sebelum mengikuti tutorial ini.)

  1. Aktifkan WampServer terlebih dahulu
  2. Klik icon WampServer di Taskbar kemudian buka MySQL -> my.ini
    Klik icon WampServer di Taskbar kemudian buka MySQL -> my.ini
  3. Tambahkan perintah “lower_case_table_names=0″ dibagian paling bawah file “my.ini”
    Tambahkan perintah "lower_case_table_names=0" dibagian paling bawah file "my.ini"
  4. Simpan dan tutup file tersebut.
  5. Restart WampServer dengan klik icon WampServer di Taskbar kemudian pilih “Restart All Services”
    Restart WampServer dengan klik icon WampServer di Taskbar kemudian pilih "Restart All Services"

Coba me-restore kembali Database ataupun membuat nama Tabel dengan mengandung huruf besar setelah mengikuti langkah-langkah tersebut. Bila ingin mengetahui lebih lanjut mengenai perintah “lower_case_table_names”, silahkan membaca dokumentasi MySQL.

Semoga tutorial ini berguna untuk Anda, jika terdapat pertanyaan ataupun masalah dalam mengikuti tutorial ini, silahkan posting di bagian komentar.

One Response to “Masalah Case-Sensitive pada Nama Tabel di MySQL”

  1. Medibatam

    Makasih gan atas infonya, saya juga setuju dengan pendapat agan itu. Pakai linux memang lebih bagus daripada pakai win. Lebih aman dan lebih pintar..he..he..

    Reply

Leave a Reply