Mysql 表名大小写问题
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到,而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不区分大小写的,后来查资料才发现,在Linux系统中MySQL默认是严格区分大小写的,可以在配置文件中添加配置,用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_c
·
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到,
而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不区分大小写的,后来查资料才发现,在Linux系统中MySQL默认是严格区分大小
写的,可以在配置文件中添加配置,
用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写(操作时,应当先删除原有的数据库,设置之后,重启mysql服务,然后重新创建数据库,否则会报错
ERROR 1010 (HY000): Error dropping database
)其中 0:区分大小写,1:不区分大小写
原因:MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
更多推荐
已为社区贡献1条内容
所有评论(0)