我在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归类。

10-08 03:23