因此,我一直在使用 MySql Workbench 作为在线数据库,我能够设置所有内容,但令我和老板惊讶的是,Workbench 竟然区分大小写。我们写了两个 select 语句,一个有效,另一个无效,因为区分大小写。再次尝试,似乎确实如此:
我正在运行:-MySql Workbench 5.2
开启Windows XP
。
这有什么原因吗?
答案1
这已经成为 mysql 底层功能的一部分。至少在 5.x 的所有版本中都是如此
在 MySQL 中,数据库对应于数据目录中的目录。数据库中的每个表对应于数据库目录中的至少一个文件(可能更多,具体取决于存储引擎)。因此,底层操作系统的大小写敏感性会影响数据库和表名称的大小写敏感性。这意味着数据库和表名称在 Windows 中不区分大小写,而在大多数 Unix 中则区分大小写。
同样的引用也存在于PDF 5.0 参考手册第 806 页 也WEB 5.7 参考手册
此外,如果你想改变此功能使标识符不区分大小写,手册中有这样做的说明。
stackexchange 上的另一个答案用简单的英语解释所需的改变。
编辑文件的[mysqld]部分my.cnf
。my.cnf
可以发现:
在 LAMPP/XAMPP 安装下...:
/opt/lampp/etc/my.cnf
独立 mysql 服务器:
/etc/mysql/my.cnf
在该部分添加行
lower_case_table_names = 1