mysql
SQL Error: 1146, SQLState: 42S02 (
linux
)
Table ' database 1.SYS_USER' doesn't ex ist
项目 在 开发 的时候在 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:
Table ' database 1.SYS_USER' doesn't ex ist
项目 在 开发 的时候在 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)。