Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencapai Perbandingan Sensitif Kes dalam MySQL?
Apabila bekerja dengan pangkalan data MySQL, adalah penting untuk mempertimbangkan pengumpulan yang digunakan untuk penyimpanan data. Pengumpulan mentakrifkan peraturan untuk perbandingan data, pengisihan dan kepekaan huruf besar kecil. Secara lalai, MySQL menggunakan pengumpulan tidak peka huruf besar-kecil, yang mungkin tidak selalu sesuai.
Jika anda memerlukan perbandingan sensitif huruf besar-besaran, anda boleh menentukan jenis pengumpulan yang sesuai semasa pembuatan jadual atau sisipan data. Menurut manual MySQL, anda boleh menetapkan pengumpulan kepada _cs untuk mencapai kepekaan huruf besar/kecil.
Untuk mendapatkan senarai himpunan sensitif huruf besar-kecil, laksanakan pertanyaan berikut:
SHOW COLLATION WHERE COLLATION LIKE "%_cs"
Walau bagaimanapun, siasatan lanjut mendedahkan bahawa MySQL pada masa ini tidak menyokong pengumpulan utf8_*_cs. Jika anda memerlukan sensitiviti huruf besar untuk medan utf8, sebaliknya anda harus menggunakan utf8_bin. Perlu diingat bahawa ini boleh menjejaskan operasi ORDER BY. Untuk menyelesaikan masalah ini, anda boleh menambah COLLATE utf8_general_ci pada klausa ORDER BY.
Contohnya:
SELECT * FROM table_name ORDER BY column_name COLLATE utf8_general_ci;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Perbandingan Sensitif Kes dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!