MYSQL因为区分大小写而引起找不到表
2008-10-19 01:55
309 查看
今天是相当郁闷,开发一直在本地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版本不匹配等引起的原因,但是重新写了个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因为区分大小写而引起找不到表
- MySQL因为区分大小写而引起找不到表
- Linux MYSQL因为区分大小写而引起找不到表
- linux 下配置mysql区分大小写(不区分可能出现找不到表的情况)怎么样使用yum来安装mysql
- mysql校对规则引起的不区分大小写
- 使MySQL查询区分大小写
- 【转】lower_case_table_names=1 让MySQL不区分大小写
- 设置Linux下Mysql表名不区分大小写
- MySQL查询时区分大小写的方法,查询字母出现中文的解决方法
- Linux MySQL 区分大小写
- 【Mysql】Mysql数据表区分大小写问题解决方案
- 如何设置mysql的表不区分你大小写
- MySQL查询时区分大小写
- MySQL查询不区分大小写的问题
- mysql的表名/字段名/字段值是否区分大小写
- MYSQL 区分大小写及乱码解决
- mysql查询区分大小写
- à和a mysql大小写不敏感,也不区分这个
- LINUX下mysql的大小写是否区分设置
- Mysql 查询 区分大小写吗?