我在mysql中需要查询中大写和小写之间的区别。
因为我需要在Java程序中选择用户名。
我尝试了这个:
数据库名称utf8
表名称是user_table
查询:
create table user_table (id int, name varchar(30));
insert into a user_table (1, "zdi0"), (2, "ZDI0");
ALTER DATABASE utf8 CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE user_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
select *
from a
where name = "ZDI0" ;
结果:
1 zdi0
2 ZDI0
我需要更改表而不是查询
提前致谢
最佳答案
排序规则utf8_unicode_ci不区分大小写。如果要使用utf8排序规则并支持区分大小写,则需要使用utf8_bin,但是utf8_bin是二进制排序规则。在决定使用它之前,您应该先阅读它。不幸的是,据我所知,utf8_bin是MySQL当前唯一可用的区分大小写的utf8归类。