2010-12-29 47 views
45

Có bất kỳ loại đối chiếu nào trong MySQL hỗ trợ phân biệt chữ hoa chữ thường hay không. Tôi đã có tất cả các loại collation trong MySQL tất cả họ có _ci ở cuối tên của họ để họ có trường hợp collens insensitive. Cảm ơn bạn trước.Trường hợp collation nhạy cảm trong MySQL

Trả lời

66

Theo Hướng dẫn sử dụng MySQL http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html bạn sẽ có thể đặt đối chiếu thành _cs cho độ nhạy trường hợp. Bạn có thể nhận được một danh sách các _cs collations bằng cách thực hiện truy vấn SHOW COLLATION WHERE COLLATION LIKE "%_cs"


Sau một nghiên cứu nhỏ:

Rõ ràng không có utf8_*_cs trong MySQL (chưa). Nếu bạn cần đối chiếu phân biệt chữ hoa chữ thường cho các trường utf8, bạn nên sử dụng utf8_bin. Đây sẽ mess lên ORDER BY, nhưng điều này có thể được cố định bởi ORDER BY column COLLATE utf8_general_ci

Nguồn: http://forums.mysql.com/read.php?103,19380,200971#msg-200971http://forums.mysql.com/read.php?103,156527,198794#msg-198794

+0

nhờ Đức Rumm .......... –

+0

[này] (http://mysqlserverteam.com/mysql-8-0-1-accent-and-case -sensitive-collations-for-utf8mb4 /) đi kèm với MySQL 8.0.1 trở lên. – Jagger

7

Hãy thử một collation kết thúc bằng _bin, chẳng hạn như latin1_bin hoặc utf8_bin, tùy thuộc vào bộ ký tự của bạn.

+0

Cảm ơn Neil IT hoạt động khi tôi đặt cột người dùng thành utf8_bin nó chỉ tìm lại dữ liệu được chỉ định trong truy vấn mặc dù tôi có dữ liệu với cùng một từ i có nghĩa là Keyur, keyur, KEYUR. dù sao cũng cảm ơn............. –

0

Phiên bản mới của MySQL (8.0.1 trở lên) đến (cuối cùng) với một tập hợp các collection utf8mb4_*_0900_as_cs.

Thông tin thêm về nó here

Các vấn đề liên quan