Mysql 表名大写 找不到表
原来 Linux 下的 MySQL 默认是区分表名大小写的,通过如下设置,可以让 MySQL 不区分表名大小写:
1、用 root 登录,修改 /etc/my.cnf;
2、在 [mysqld] 节点下,加入一行: lower_case_table_names=1
[root@localhost etc]# vim my.cnf
lower_case_table_names=1
3、重启 MySQL 即可;
[root@localhost etc]# service mysqld restart
Shutting down MySQL.... SUCCESS!
Starting MySQL.. SUCCESS!
其中 lower_case_table_names=1 参数缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0,因此在 window 中不会遇到的问题,一旦一直到 linux 就会出问题的原因(尤其在 mysql 对表起名时是无法用大写字母的,而查询用了大写字母却会出查不到的错误,真是弄的莫名其妙)
使用如下 sql 查询不到
提示:
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'chipsystem.USER' doesn't exist
表名修改为小写可以: