[MySQL][ODBC 3.51 Driver][mysqld-5.5.37-log]Table 'ldk2.T_User' doesn't exist问题解决

来源:互联网 发布:ubuntu repair 编辑:程序博客网 时间:2024/05/29 23:22


笔者最近在做网站测试的时候遇到一个问题。在首页登录进去之后无法正确跳转到主页,而是报了数据库错误。

报错的内容如下:




Table找不到。


经过检查,服务器上的mysql配置正常,mysql中已经导入该应用所必须的数据库表,且数据库连接正常。



然后再打开源代码


发现其中一句,“select * from T_User............”,  然后再对比服务器mysql里的表t_user , 发现原来是大小写敏感的问题。


由于笔者用的是Linux系统的服务器,其系统默认的mysql下表名是区分大小写,而其他同学用的Windows下本地mysql默认是表名不区分大小写。 


补充一下Linux和Windows下mysql的大小写规则:

Linux:

数据库名与表名严格区分大小写

表的别名严格区分大小写

列名与列的别名在所有的情况下均忽略大小写

变量名严格区分大小写

Windows:

均不区分大小写


怎么解决呢,当然可以修改源码,修改数据库里的表名,还可以通过修改配置文件来解决。

我们可以通过配置文件的lower_case_table_names这个参数来控制。

Windows:

编辑mysql安装目录下的my.ini文件,在【mysql】下添加 lower_case_tale_names = 0 (备注: 0为大小写敏感,1为大小写不敏感, 默认为1)

Linux:

编辑/etc/my/cnf文件,在【mysqld】下添加 lower_case_tale_names 参数,并设置相应的值 (备注: 0为大小写敏感,1为大小写不敏感, 默认为0)


最后,希望这篇文章能够对大家以后遇到类似问题时有所帮助。



阅读全文
0 0
原创粉丝点击