今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到,

而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不区分大小写的,后来查资料才发现,在Linux系统中MySQL默认是严格区分大小

写的,可以在配置文件中添加配置,

用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写(操作时,应当先删除原有的数据库,设置之后,重启mysql服务,然后重新创建数据库,否则会报错

ERROR 1010 (HY000): Error dropping database

其中 0:区分大小写,1:不区分大小写 

原因:MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 

   1、数据库名与表名是严格区分大小写的; 

   2、表的别名是严格区分大小写的; 

   3、列名与列的别名在所有的情况下均是忽略大小写的; 

   4、变量名也是严格区分大小写的;
Logo

更多推荐