Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menetapkan perbezaan saiz dalam mysql

Bagaimana untuk menetapkan perbezaan saiz dalam mysql

PHPz
PHPzasal
2023-04-19 17:25:345981semak imbas

Pangkalan data MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan untuk menyimpan dan mengakses data dalam aplikasi web. Jadual data dalam MySQL adalah tidak peka huruf besar-kecil, yang bermaksud bahawa jadual tersebut tidak sensitif huruf besar-kecil apabila membuat pertanyaan. Walau bagaimanapun, dalam beberapa kes, kami memerlukan MySQL untuk peka huruf besar-besaran, yang mana tetapan yang sepadan perlu dibuat. Artikel ini akan memperkenalkan cara menetapkan sensitiviti huruf besar dalam MySQL.

1. Prinsip kepekaan huruf besar dalam MySQL

Dalam MySQL, nama itu hanya dianggap sebagai aksara, bukan perkataan atau frasa bahasa. Oleh itu, MySQL tidak menggunakan kes untuk menentukan perbezaan antara nama. Sebagai contoh, MySQL menganggap "table1" dan "Table1" sebagai nama yang sama.

2. Tetapkan MySQL menjadi peka huruf besar kecil

  1. Tetapkan dalam fail konfigurasi my.cnf

Buka fail konfigurasi my.cnf jika ia tidak wujud, fail baharu dibuat. Tambahkan kod berikut pada fail:

[mysqld]
lower_case_table_names=1

Simpan fail dan mulakan semula pelayan MySQL. Anda boleh menjadikan MySQL menguatkuasakan kepekaan huruf besar dengan menetapkan nama_jadual_huruf kecil kepada 1. Jika ia ditetapkan kepada 0, MySQL tidak akan menjadi sensitif huruf besar dan nilai lalai ialah 0.

  1. Tetapkan dalam baris arahan

Bagi pengguna yang tidak mempunyai kebenaran untuk mengubah suai fail konfigurasi MySQL, mereka boleh menetapkannya dalam baris arahan MySQL. Gunakan arahan berikut pada baris arahan:

SET GLOBAL lower_case_table_names=1;

Ini akan menetapkan lower_case_table_names parameter kepada 1 secara global pada pelayan MySQL. Tetapan ini akan berterusan sepanjang pelayan MySQL dimulakan semula.

Juga boleh ditetapkan dalam sesi semasa menggunakan:

SET SESSION lower_case_table_names=1;

Ini akan menetapkan parameter_huruf_jadual_nama_huruf kecil kepada 1 dalam sesi semasa. Tetapan ini akan tamat tempoh pada penghujung sesi semasa.

3. Nota

  1. Menggunakan parameter_huruf kecil_table_names=1 akan menyebabkan kes nama jadual sensitif ditukar kepada huruf kecil. Jika dua jadual mempunyai nama yang sama tetapi ditulis dalam kes yang berbeza, ia menjadi jadual yang sama apabila huruf_kecil_namajadual=1. Oleh itu, anda perlu memilih nama jadual dengan berhati-hati apabila menggunakan parameter ini.
  2. Dengan huruf_huruf kecil_table_names=1, peraturan pengisihan bukan binari sensitif huruf besar atau carian, seperti utf8_bin, tidak boleh digunakan. Ini kerana lower_case_table_names=1 akan menukar semua aksara kepada huruf kecil, yang akan menyebabkan peraturan pengisihan sensitif huruf besar atau carian tidak berfungsi.
  3. Dengan lower_case_table_names=1, ciri set aksara sensitif huruf besar tidak tersedia. Contohnya, dalam set aksara latin1_cs atau utf8_cs, cs menunjukkan kepekaan huruf besar kecil, tetapi huruf_huruf kecil_table_names=1 memaksa semua aksara ditukar kepada huruf kecil, jadi peraturan sensitiviti huruf besar tidak akan berfungsi.

4. Ringkasan

Tetapan lalai pangkalan data MySQL adalah tidak peka huruf besar-kecil. Walau bagaimanapun, apabila anda perlu peka huruf besar-kecil semasa membuat pertanyaan, anda boleh menetapkan nama_jadual_huruf kecil kepada 1 dalam fail konfigurasi my.cnf, atau gunakan pernyataan SET dalam baris arahan MySQL. Tetapi perlu diingatkan bahawa terdapat beberapa sekatan untuk menggunakan lower_case_table_names=1, yang mungkin menyebabkan beberapa masalah jika nama jadual atau set aksara tidak dipilih dengan teliti. Oleh itu, ia perlu digunakan dengan berhati-hati.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan perbezaan saiz dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn