mysql查询区分大小写字母

问题描述:

今天使用mysql查询China时,返回了两个单词china 和 China

select * from vocabulary where word="china"

查询结果没有区分大小写。

原因分析:

  • 字符集
    utf8_general_ci ---不区分大小写
    utf8_bin--区分大小写
  • CREATE TABLE NAME(name VARCHAR(10));
    对这个表,缺省情况下,下面两个查询的结果是一样的:
    SELECT * FROM TABLE NAME WHERE name='china';
    SELECT * FROM TABLE NAME WHERE name='China';

解决办法:

1.MySql默认查询是不区分大小写的,如果需要区分他,必须在建表的时候,Binary标示敏感的属性.

2、修改字段排序类型,从utf8_general_ci 改为: utf8_bin 
ALTER TABLE vocabulary MODIFY COLUMN word VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin 

3、使用navicat进行修改:

发布了69 篇原创文章 · 获赞 52 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/xzj80927/article/details/103954742