设置mysql表名大小写不敏感

               

在跨平台的程序设计中要注意到mysql的一些系统变量在windows和linux上的缺省值是不同的, 比如mysql表名称的大小写变量.

在windows上lower_case_table_names变量的缺省值为1; 在linux上为0; 在mac os上为2;

该变量值的详细定义如下:

Value Meaning
0 Table and database names are stored on disk using the lettercase                specified in the CREATE                TABLE or CREATE                DATABASE statement. Name comparisons are case                sensitive. You should not set this                variable to 0 if you are running MySQL on a system that                has case-insensitive file names (such as Windows or Mac                OS X). If you force this variable to 0 with                --lower-case-table-names=0                on a case-insensitive file system and access                MyISAM tablenames using different                lettercases, index corruption may result.
1 Table names are stored in lowercase on disk and name comparisons are not                case sensitive. MySQL converts all table names to                lowercase on storage and lookup. This behavior also                applies to database names and table aliases.
2 Table and database names are stored on disk using the lettercase                specified in the CREATE                TABLE or CREATE                DATABASE statement, but MySQL converts them to                lowercase on lookup. Name comparisons are not case                sensitive. This works only on file                systems that are not case sensitive!                InnoDB table names are stored in                lowercase, as forlower_case_table_names=1.


如果想在linux环境中想设置表名为大小写不敏感, 那么可以通过如下的命令:

mysqld --SET-lower_case_table_names=1;

或者在mysql server的配置文件中添加配置项:

vi /etc/my.cnf

# The MySQL server[mysqld]set-variable=lower_case_table_names=1

iefreer



           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43668086/article/details/87559962