首页 新闻 会员 周边 捐助

关于Mysql数据库查询数据大小写的问题

0
悬赏园豆:5 [已解决问题] 解决于 2019-02-20 09:55

Mysql5.5,在做查询时,字段值明明是小写,但是where条件后面跟全是大写的值,这条数据也能查询出来。在网上找了一堆解决方法,在[mysqld]最后设置
还是不行!恳请回答!

梁伯伯的主页 梁伯伯 | 初学一级 | 园豆:193
提问于:2019-02-19 16:13
< >
分享
最佳答案
0

ower_case_table_names 是表名区分大小写的标识;
mysql中大小写问题主要有以下两种:

A.表名区分大小写
在my.conf加入:
ower_case_table_names = 0
其中 0:区分大小写,1:不区分大小写

B.插入查询时区分大小写
字段值需要设置BINARY属性,即可区分大小写。
设置的方法有多种:
创建时设置:
CREATE TABLE T(
A VARCHAR(10) BINARY
);

使用alter修改:
ALTER TABLE tablename MODIFY COLUMN cloname VARCHAR(45) BINARY;
mysql table editor中直接勾选BINARY项。

收获园豆:5
Co~Co | 小虾三级 |园豆:507 | 2019-02-20 09:02
其他回答(2)
0

mysql是大小写不敏感的。可以通过指定校对规则来区分大小写。
例如,可以在语句中指定校对规则:select * from t1 where b = 'DOG' collate utf8_bin;
此外也可以在创建表的时候指定校对规则。

AYard | 园豆:436 (菜鸟二级) | 2019-02-19 18:14
0

任选一种即可:
select * from table where col='AA' collate utf8_bin;
select * from table where binary col='AA' ;
还有一种方案,可以直接更改表字段类型,若已存在数据,则不建议更改。

一禅·小和尚 | 园豆:519 (小虾三级) | 2019-02-20 08:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册