在ubuntu下默认安装了mysql5,导入了表,启动TOMCAT应用,结果发现后台报错说还是找不到表,奇怪,用client工具连接上数据库查看,表不是有吗?仔细一看原来是大小写的问题,hibernate生成的sql都是大写的表明,但是我的mysql中的表明都是小写的。奇怪,以前这些程序都是可以用的,可能是和操作系统也有关系吧,以前我的mysql服务不是安装在ubuntu下的,而是安装在WINDOWS下的,就没有问题。
查阅了一下GOOGLE文档,原来LINUX下面默认安装MYSQL后:区分表明的大小写,不区分列名的大小写。
又不能阻止HIBERNATE生成大小写固定的SQL,就只有修改MYSQL的配置啦,修改如下:
vi /etc/mysql/my.cnf
在[mysqld]后添加
lower_case_table_names=1
重启MYSQL服务
其中配置文件
lower_case_table_names=0 区分大小写
lower_case_table_names=1 不区分大小写
MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下:
1.数据库名与表名是严格区分大小写的
2.表的别名是严格区分大小写的
3.列名与列的别名在所有的情况下均是忽略大小写的
4.变量名也是严格区分大小写的
MYSQL在WINDOWS下都不区分大小写
ubuntu_linux_mysql数据库大小写问题
最新推荐文章于 2022-01-12 09:46:26 发布