MySQL查询不能区分案例和案例解决方案(两个)
当我们输入数据时,不管怎样,我们可以查询数据,例如输入AAA或AAA,AAA可以查询相同的结果,表明查询条件对情况不敏感。解决方案之一:
因此,MySQL的问题受到质疑。做一个实验:直接使用客户机用SQL查询数据库。
您需要通过查询数据建立整理(校对):
* _bin:代表二进制区分排序规则,也就是说它是区分大小写的
* _cs:敏感的排序,区分大小写
* _ci:大小排序,不区分大小写
u3002解
1。可以用二进制()来包含在查询条件中:
SELECT * FROM中二进制柱= 'AAA';
2。可以将此字段的排序规则修改为二进制。
例如:
tablename表修改列的列名varchar(50)二进制字符集utf8整理。
方案二:
MySQL查询默认是不区分大小写的,例如:
SELECT * FROM some_table,str =abc;
SELECT * FROM some_table在STR = ABC;
结果是一样的,如果我们需要区别,我们可以做如下:
第一种方法:
为了让MySQL查询区分大小写,您可以:
SELECT * FROM some_table二进制STR = ABC
SELECT * FROM some_table二进制STR = ABC
第二种方法:
在创建表时确定它
创建表some_table(
STR字符(20)二进制
)
原理:
对于char、varchar、和文本类型,二进制属性可以设置为栏目的角色分配校对规则。二进制属性是二元校对规则指定列的字符集的缩写。排序和比较的基础上的数字字符的值。因此,有案例和案例有着本质的区别。
以上两种解决方案解决了MySQL查询的不区分大小写的问题,希望能对您有所帮助。MySQL数据查询问题较多。请登录到这个站点学习。