MySQL 中的表名是否区分大小写?
MySQL 中的表名是否区分大小写?
Are table names in MySQL case sensitive?
在我的 Windows 开发机器上,我拥有的代码能够查询我的表,这些表似乎都是小写的.当我部署到我们数据中心的测试服务器时,表名似乎以大写字母开头.
On my Windows development machine the code I have is able to query my tables which appear to be all lowercase. When I deploy to the test server in our datacenter the table names appear to start with an uppercase letter.
我们使用的服务器都在 Ubuntu 上.
The servers we use are all on Ubuntu.
推荐答案
一般:
数据库和表名在 Windows 中不区分大小写,而在大多数 Unix 版本中区分大小写.
在MySQL中,数据库对应数据中的目录目录.数据库中的每个表至少对应一个数据库目录中的文件.因此,区分大小写的底层操作系统在区分大小写中起作用数据库和表名.
In MySQL, databases correspond to directories within the data directory. Each table within a database corresponds to at least one file within the database directory. Consequently, the case sensitivity of the underlying operating system plays a part in the case sensitivity of database and table names.
可以使用系统变量lower_case_table_names
(在[mysqld]下的my.cnf配置文件中)配置表名如何存储在磁盘上.
One can configure how tables names are stored on the disk using the system variable lower_case_table_names
(in the my.cnf configuration file under [mysqld]).
阅读部分:10.2.2 标识符区分大小写 了解更多信息.
Read the section: 10.2.2 Identifier Case Sensitivity for more information.
相关文章