正文:众所周知,windows下mysql默认不区分大小写的,而linux相反。所以将sql导入linux可能报错。
字符串区分大小写的问题: 先建表CREATE TABLE NAME(name VARCHAR(10));
1.select * from name where name ='ss'跟select * from name where name ='sS';
这两个在缺省情况下结果是一样的,需要binary标示敏感属性。
一。CREATE TABLE NAME(name VARCHAR(10) binary);
二。查询时 select * from name where binary name ='xxx';
三。设置字符集,默认的utf8就是utf8_general_ci(不区分大小写的),改为utf8_bin即可;
2.脚本文件导入mysql时,windows下表名自动转为小写
一。更改mysql配置,在mysql.ini文件中加上lower_case_table_names=0;(0:区分;1:不区分)
注意点:mysql提供了collate校对,规则如下
1.*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
2.*_cs : case sensitive collation,区分大小写
3.*_ci : case insensitive collation,不区分大小写