今天测试的时候,遇到一些问题,明明看到数据,就是查不出来;后来发现,在linux下,mysql的表名区分大小写,而在windows下是不区分,从windows下导出的数据脚本中使用的是小写,而Hibernate生成的sql中表名是大写的,所以查不出数据。
google了一些资料,修改mysql的一个参数就可以了,如下:
在ubuntu下,/etc/mysql/my.cnf文件中
[mysqld]的后面加
lower_case_table_names=1
0,区分大小写; 1,不区分
好像还有说在/etc/my.cnf,在ubuntu下,这个不能使用。
然后重启mysql
sudo /etc/init.d/mysql restart
注:(下面内容摘自网上)
MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下:
1.数据库名与表名是严格区分大小写的
2.表的别名是严格区分大小写的
3.列名与列的别名在所有的情况下均是忽略大小写的
4.变量名也是严格区分大小写的
MYSQL在WINDOWS下都不区分大小写
google了一些资料,修改mysql的一个参数就可以了,如下:
在ubuntu下,/etc/mysql/my.cnf文件中
[mysqld]的后面加
lower_case_table_names=1
0,区分大小写; 1,不区分
好像还有说在/etc/my.cnf,在ubuntu下,这个不能使用。
然后重启mysql
sudo /etc/init.d/mysql restart
注:(下面内容摘自网上)
MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下:
1.数据库名与表名是严格区分大小写的
2.表的别名是严格区分大小写的
3.列名与列的别名在所有的情况下均是忽略大小写的
4.变量名也是严格区分大小写的
MYSQL在WINDOWS下都不区分大小写
本文详细介绍了在 Linux 下 MySQL 表名区分大小写的问题,以及从 Windows 导出的数据脚本中使用小写表名与 Hibernate 生成的大写 SQL 之间的冲突。通过修改 MySQL 的配置文件 my.cnf 中的 lower_case_table_names 参数为 1 来解决此问题,并重启了 mysql 服务。此外,文章还总结了 MySQL 在不同操作系统下数据库名、表名、列名、别名的大小写规则。
6711

被折叠的 条评论
为什么被折叠?



