MySQL--区分表名大小写

============================================================================
在MySQL中,可以通过lower_case_table_names参数来设置是否区分表名大小写问题,参数有效取值为:0,1,2:
0表示,表在文件系统存储的时候,对应的文件名是按建表时指定的大小写存的,MySQL 内部对表名的比较也是区分大小写的;
1表示,表在文件系统存储的时候,对应的文件名都小写的,MySQL 内部对表名的比较是转成小写的,即不区分大小写;
2表示,表在文件系统存储的时候,对应的文件名是按建表时指定的大小写存的,但是 MySQL 内部对表名的比较是转成小写的,即不区分大小写。
 
由于MySQL中的表和操作系统中的文件对应,而不同操作系统下对文件名的处理不一样,比如在Linux系统下文件名区分大小写,而在Windows系统下不区分大小写,因此在设置lower_case_table_names参数时需要根据操作系统来决定。
当参数设置为0时,适合区分大小写的系统。
当参数设置为1时,适合所有系统。
当参数设置为2时,适合不区分大小写的系统。

修改lower_case_table_names参数可能会导致后续DDL操作失败,需谨慎操作,最好在初始化数据库时就确定好是否需要区分大小写。

https://yq.aliyun.com/articles/50846
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html?spm=5176.100239.blogcont50846.6.jyqeFt#sysvar_lower_case_table_names
 
posted @ 2019-02-17 12:10  TeyGao  阅读(795)  评论(0编辑  收藏  举报