MySQL大小写问题

时间:2022-01-17 00:48:26
字段值的大小写由mysql的校对规则来控制。提到校对规则,就不得不说字符集。字符集是一套符号和编码,校对规则是在字符集内用于比较字符的一套规则  . 一般而言,校对规则以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束 。比如 utf8字符集,utf8_general_ci,表示不区分大小写,这个是utf8字符集默认的校对规则;utf8_general_cs表示区分大小写,utf8_bin表示二进制比较,同样也区分大小写 。   如果不想这么麻烦而想服务一开启就让大小写一致的话:
可以修改my.ini或者my.cnf
[mysqld]
 lower_case_table_names=1
(0:区分;1:不区分)
然后重启MYSQL服务。

mysql> show variables like '%case_table%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_table_names | 1     |
+------------------------+-------+
1 row in set (0.00 sec)
注:WINDOWS系统不用修改,系统默认就是1
LINUX 系统默认是0。因为LINUX下的脚本都是区分大小写的。