首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/MYSQL:为什么我的数据库突然对Linux服务器(而不是XP服务器)上的表名区分大小写?

问PHP/MYSQL:为什么我的数据库突然对Linux服务器(而不是XP服务器)上的表名区分大小写?
EN

Stack Overflow用户
提问于 2010-08-07 01:22:11
回答 3查看 1.2K关注 0票数 0

如何才能使表不区分大小写?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-07 01:25:10

根据操作系统的文件系统,表名区分大小写。在windows上,文件名不区分大小写,因此您可以指定其中任何一个。但是,在Linux上,文件名是区分大小写的。这就是不同之处。

最佳实践是使SQL与表名称完全一致。

MySQL Documentation on identifier case sensitivity

票数 7
EN

Stack Overflow用户

发布于 2010-08-07 01:29:36

MySQL中的表是幕后的文件(与表的名称相同)。如果这些文件存储在区分大小写的文件系统上(比如说,几乎所有files支持的文件系统),那么MySQL将关心表名的大小写。另一方面,Windows文件系统在查找文件时倾向于忽略大小写,因此任何情况都可以工作。

您可以为数据库使用不同的引擎(InnoDB可能不区分大小写,因为它以不同的方式存储表),但实际上,您应该始终使用一致的大小写--这会使区分大小写变得无关紧要。

票数 2
EN

Stack Overflow用户

发布于 2014-06-04 04:44:10

在MySQL上,Linux元数据默认区分大小写。

要避免这种情况,请转到/etc/my.cnf并放入以下行:

代码语言:javascript
复制
lower_case_table_names = 1 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3426153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档