Rumah >pangkalan data >tutorial mysql >Bagaimanakah MySQL Mengendalikan Sensitiviti Kes dalam Pertanyaan SELECT, dan Bagaimana Saya Boleh Mengatasinya?

Bagaimanakah MySQL Mengendalikan Sensitiviti Kes dalam Pertanyaan SELECT, dan Bagaimana Saya Boleh Mengatasinya?

DDD
DDDasal
2024-12-11 16:39:10305semak imbas

How Does MySQL Handle Case Sensitivity in SELECT Queries, and How Can I Override It?

Sensitiviti Kes Pertanyaan MySQL SELECT

Secara lalai, pertanyaan MySQL SELECT adalah tidak sensitif huruf. Ini bermakna pertanyaan SELECT * FROM table` WHERE `Value` = "iaresavage" akan mengembalikan hasil walaupun nilai lajur Value` sebenarnya adalah 'IAreSavage'.

Mengatasi Sensitiviti Kes

Walau bagaimanapun, anda boleh mengatasi gelagat lalai ini dan melakukan perbandingan sensitif huruf besar-besaran menggunakan pengendali binari. Untuk melakukan ini, ubah suai pertanyaan anda seperti berikut:

SELECT * FROM `table` WHERE BINARY `Value` = "iaresavage"

Kini, pertanyaan hanya akan mengembalikan hasil jika nilai lajur Nilai betul-betul sepadan dengan rentetan yang ditentukan, tanpa mengira kes.

Contoh

Pertimbangkan perkara berikut jadual:

Value
iaresavage
IAreSavage

Jika anda melaksanakan pertanyaan berikut:

SELECT * FROM `table` WHERE `Value` = "iaresavage"

Ia akan mengembalikan kedua-dua baris kerana pertanyaan itu tidak peka huruf besar-kecil.

Walau bagaimanapun, jika anda melaksanakan pertanyaan berikut:

SELECT * FROM `table` WHERE BINARY `Value` = "iaresavage"

Ia hanya akan mengembalikan baris pertama kerana perbandingan sensitif huruf besar-besaran menghapuskan baris kedua.

Atas ialah kandungan terperinci Bagaimanakah MySQL Mengendalikan Sensitiviti Kes dalam Pertanyaan SELECT, dan Bagaimana Saya Boleh Mengatasinya?. 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