欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL因为区分大小写而引起找不到表

程序员文章站 2022-06-06 18:56:30
...

开发一直在本地mysql数据进行,完成后测试连接LINUX服务器数据库,结果一直报错找不到表!另我纳闷的是服务器数据库里明明是建了

开发一直在本地mysql数据进行,完成后测试连接LINUX服务器数据库,结果一直报错找不到表!另我纳闷的是服务器数据库里明明是建了表的,用mysql控制台测试连接执行查询也没问题,可程序就是一直报错!

于是开始反复测试找问题,刚开始以为是驱动或mysql版本不匹配等引起的原因,但是重新写了个JDBC连接执行查询发现没问题!说明驱动没问题!于是怀疑连接池的问题,于是将程序里的连接改成新写的JDBC连接,仍然出错!这时候我都快疯了!于是将项目里的SQL语句拷贝出来一句放到新写的JDBC程序里去执行,终于出了同样的错。问题也一点点的浮出了水面!因为一直在项目里写SQL都是习惯了用大写,但是临时写的时候比较仓促一般都用小写,所以临时写的程序就可以执行,但是项目里的SQL却无法执行,因为刚开始一直想不到mysql会区分大小写,因为在自己机器上是没有问题的。后来查了资料发现,是因为操作系统的原因,,mysql在LINUX下默认是区分大小写的。下面我们就更改mysql配置让其不区分大小写:

让MYSQL不区分表名大小写的方法其实很简单:

  1.用ROOT登录,修改/etc/my.cnf

  2.在[mysqld]下加入一行:lower_case_table_names=1

  3.重新启动数据库即可。

就这个小问题整整折腾了我3个多小时!NND,郁闷啊!问题总结在这里希望大家以后别走我这么多弯路!

MySQL因为区分大小写而引起找不到表