以前也有用过mysql,但今天意外的发现了一个问题,mysql在windows系统是不区分大小写的,这样当你查询密码时是不分大小写。而在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就更方便了,如下图:
表的设计中列的排序规则修改为如图,这样该列在查询时就区分大小写了。