windows系统下mysql查询语句区分大小写的设置。

以前也有用过mysql,但今天意外的发现了一个问题,mysqlwindows系统是不区分大小写的,这样当你查询密码时是不分大小写。而在unix和linux系统下的mysql是区分的,具体是什么原因我也不太清楚,遇到问题解决一下就可以了。

打开百度一搜说让在my.ini的[mysqld]下加一句lower_case_table_names = 0,然后重启服务器。我是win8.1的系统,修改之后无法打开服务器,报错:1067

又在网上搜到将0改为2,可重启,但依然不区分大小写。

解决方法:

解决方法也是在网上搜到的,给列添加BINARY属性如下:

1.这是创建表之后修改列的属性

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

tablename处输入要修改列的表名,cloname就是要修改的列名了,主要重点在于BINAR这个关键字。


2.创建表时

CREATE TABLE T( 
A VARCHAR(10) BINARY 
); 

如果你使用的是Navict就更方便了,如下图:

的设计中列的排序规则修改为如图,这样该列在查询时就区分大小写了。

猜你喜欢

转载自blog.csdn.net/wsadzxcleg/article/details/50725872