ITPub博客

首页 > 数据库 > MySQL > 【MySql】linux下,设置mysql表名忽略大小写

【MySql】linux下,设置mysql表名忽略大小写

原创 MySQL 作者:zjrodger 时间:2015-08-03 18:15:20 0 删除 编辑
【环境参数】
1、Host OS:Win7 64bit
2、VM: VMware 11.1.0
3、Client OS:CentOS 6.4
4、MySql在LinuxOS下的版本:5.1.73
5、App技术框架:SSH + EasyUI +Shiro

【障碍再现】
状况描述01:
    在LINUX下调一个程序经常报出找不到表,但是我明明是建了表的,
    测试的时候,遇到一些问题,从Windows平台访问虚拟机中的Web应用,经常报出找不到表,但自己明明在数据库中看到相关的数据表和数据,在linux中通过MYSQL的命令行下也可以查到,为什么从Windows平台上的程序来访问虚拟机中的MySql时,就找不到呢?

【原因分析】
    原来是LINUX下的MYSQL默认是要区分表名大小写的,而在windows下是不区分。
    从windows下导出的数据脚本中数据表的名字使用的是小写,而Hibernate生成的sql中表名是大写的,所以查不出数据。

【解决方案】
让MYSQL不区分表名大小写的方法其实很简单:
1.用ROOT登录,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1
    备注:0,区分大小写; 1,不区分
3.重新启动数据库即可
sudo /etc/init.d/mysql restart

【拓展】
注:(下面内容摘自网上)
MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下:
1.数据库名与表名是严格区分大小写的
2.表的别名是严格区分大小写的
3.列名与列的别名在所有的情况下均是忽略大小写的
4.变量名也是严格区分大小写的 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25851087/viewspace-1760691/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-04-14

  • 博文量
    42
  • 访问量
    560121