MySQL数据库"mysql SQL Error:1146,SQLState:42S02 "解决方法!

1930阅读 0评论2013-03-07 awool_cu
分类:Mysql/postgreSQL

MySQL数据库报错"mysql SQL Error: 1146, SQLState: 42S02 (linux)"解决方法!
 
  项目在开发的时候在WINDOWS平台下开发的,开发完了之后在LINUX环境上部署好之后,运行时MySQL数据库报错,提示为某个表不存在之类的错误信息,后来修改了MySQL的配置文件将大小写敏感去掉,问题解决。   
  这个问题的根源在于,在 MySQL 中,数据库和表其实就是数据目录下的目录和文件,因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix/Linux 系统中是大小写敏感的。
  MySQL大小写敏感可以通过配置文件的lower_case_table_names参数来控制。

  WINDOWS系统下:
  编辑MySQL安装目录下的my.ini 文件,在[mysqld]节下 添加 lower_case_table_names=0 (备注:为0时大小写敏感,为1时大小写不敏感,默认为1),可以实现MySql按照建表Sql语句的大小写状态来定义表名。
  LINUX系统下:
  编辑/etc/my.cnf文件,在[mysqld]节下 添加 lower_case_table_names=1 参数,并设置相应的值 (备注:为0时大小写敏感,为1时大小写不敏感,默认为0)。
上一篇:Struts2入门教程->求两个数和!
下一篇:如何在jsp文件中设置ie8版本的浏览器标准模式?