日期:2014-05-16  浏览次数:20705 次

MySQL在linux下的表名如何不区分大小写
今天测试的时候,遇到一些问题,明明看到数据,就是查不出来;后来发现,在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下都不区分大小写