Tôi đã gặp vấn đề tương tự và sau một số Google Googling, có vẻ như MySQL không bao gồm nó. Để "mô phỏng nó", như bạn nói,
1) Để đảm bảo phân biệt chữ hoa chữ thường trong DB:hãy đặt cột bảng thành utf8_bin
đối chiếu
Điều này cho phép:
- CHỌN nghiêm ngặt:
SELECT "Joe"
sẽ KHÔNG trả về các hàng có "joe" / "joE" / "jOe" / etc - chỉ mục UNIQUE nghiêm ngặt:một cột có chỉ mục UNIQUE sẽ coi các trường hợp khác biệt là các giá trị khác nhau. Ví dụ:nếu đối chiếu utf8_unicode_ci được sử dụng, việc chèn "Joe" trên bảng đã có "joe" sẽ gây ra lỗi "Khóa trùng lặp". Nếu sử dụng ut8_bin, việc chèn "Joe" sẽ hoạt động tốt.
2) Để có thứ tự thích hợp trong kết quả:hãy thêm đối chiếu vào truy vấn SQL:
SELECT ... ORDER BY column COLLATE utf8_unicode_ci