Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencapai Perbandingan Sensitif Kes dalam MySQL?

Bagaimanakah Saya Boleh Mencapai Perbandingan Sensitif Kes dalam MySQL?

DDD
DDDasal
2024-11-28 07:37:14451semak imbas

How Can I Achieve Case-Sensitive Comparisons in MySQL?

Sensitiviti Kes dalam Pengumpulan 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!

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