mysql查询区分大小写

今天在查字典表时发现该知识点,记下来。

不同于oracle,mysql查询不区分大小写,附上sql

oracle select * from user_tab_columns where TABLE_NAME = 'USERS' --如果使用'users'查不出结果
mysql SELECT * from information_schema.TABLES where TABLE_SCHEMA = 'test' --与使用'TesT'查询结果相同
区分大小写 SELECT * from information_schema.TABLES where binary TABLE_SCHEMA = 'test'

创建表时加入binary参数效果一样

测试 alter table xx modify x varchar(20) binary;

这时查询xx字段就能区分大小写了,而且不需要binary参数。


查找资料发现,修改mysql参数lower_case_table_names也能达到一部分区分大小写的效果

mysql> show variables like '%case%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 1     |
+------------------------+-------+
试图修改时,失败
mysql> set lower_case_table_names = 2;
1238 - Variable 'lower_case_table_names' is a read only variable
通过修改my.ini文件,重启后发现

修改参数前后结果无变化。

mysql> select * from xx where x = 'DD';
+----+
| x  |
+----+
| dd |
| Dd |
| DD |
+----+
3 rows in set


貌似该参数在不同操作系统之间,导数据时若不一致才会出问题。

不想总结,mysql版本5.5




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值