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

解决跨平台MySQL表名大小写问题
本文介绍了一个常见的跨平台MySQL问题:在Linux环境下因表名大小写敏感而导致从Windows平台无法访问到表的情况。文章分析了问题的原因,并提供了解决方案,即通过配置MySQL使其在Linux下也不区分表名大小写。

【障碍再现】

状况描述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.变量名也是严格区分大小写的 

 

转载于:https://www.cnblogs.com/taiyanhong/p/8005287.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值