手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

mysql查询不区分大小写解决方案

时间:2024-10-12 17:06:39

1、在我们日常建库建表过程中,字符编码选择“utf8”,排序规则“utf8_general_ci”。如下图所示:

mysql查询不区分大小写解决方案

2、student表结构如下:CREATE 哌囿亡噱TABLE `tb_student` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(20) NOT NULL DEFAULT '' COMMENT '姓名', `number` varchar(20) NOT NULL DEFAULT '' COMMENT '学号', `sex` varchar(1) NOT NULL DEFAULT '' COMMENT '性别', `age` int(3) NOT NULL DEFAULT '0' COMMENT '年龄', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

mysql查询不区分大小写解决方案

3、student表数据如下如所示:

mysql查询不区分大小写解决方案

4、从表中可得知学号1003有两个,分别是“P1003”和“p1003”。

mysql查询不区分大小写解决方案

5、当我们查询number为“P1003”时,正常情况来讲是希望查询姓名为“王五”的结果;但是查询结果却出乎意料如下图所示:

mysql查询不区分大小写解决方案

6、当我们查询number为“p1003”时,正常情况来讲是希望查询姓名为“如花”的结果;但是查询结果却出乎意料如下图所示:

mysql查询不区分大小写解决方案

7、出现如此该如何解决呢?在Navicat for MySQL中我们选中“tb_student”表,点击鼠标右键选择

mysql查询不区分大小写解决方案

8、在弹出的表结构中,选中“number”行,将该列的排序规则修改为“utf8_bin”后并保存。如下图所示:

mysql查询不区分大小写解决方案
mysql查询不区分大小写解决方案

9、修改后的表结构:CREATE 哌囿亡噱TABLE `tb_student` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '稆糨孝汶;主键', `name` varchar(20) NOT NULL DEFAULT '' COMMENT '姓名', `number` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '学号', `sex` varchar(1) NOT NULL DEFAULT '' COMMENT '性别', `age` int(3) NOT NULL DEFAULT '0' COMMENT '年龄', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

mysql查询不区分大小写解决方案

10、再次查询学号为“p1003”的结果,“SELECT * FROM `tb_student` 嘛术铹砾where number = 'p1003';”如下图所示:

mysql查询不区分大小写解决方案

11、到此,mysql查询不区分大小写问题便解决了;希望能帮助到你。^V^

© 手抄报圈