我可以安全地依赖mysql中的列名称案例吗?

时间:2012-08-20 21:57:39

标签: php mysql case-sensitive

我想使用camel case命名我的mysql表列名,并使用相同的camel case名称从这些mysql表创建php类。我将自动生成这些php类。我想知道我是否可以依赖列名称案例,无论我在哪个平台上运行我的应用程序。例如,如果我将一个列名称命名为“FirstName”,我是否会遇到从数据库中读取列名称产品“firstname”或类似名称的时间?

2 个答案:

答案 0 :(得分:3)

简短的回答是否定的。

答案很长,MySQL中某些内容的区分大小写取决于底层操作系统。 (Unix是敏感的)

以下是MySQL documentation.

中对该问题的引用
  

因此,底层操作系统的区分大小写在数据库和表名称的区分大小写中起作用。这意味着数据库和表名在Windows中不区分大小写,并且在大多数Unix中区分大小写。一个值得注意的例外是Mac OS X,它是基于Unix的,但使用的是一个不区分大小写的默认文件系统类型(HFS +)。

同样来自专栏的文档:

  

列,索引和存储的例程名称在任何平台上都不区分大小写,列别名也不区分大小写。触发器名称区分大小写,与标准SQL不同。

答案 1 :(得分:-1)

MySQL在表格和列名称中区分大小写,在关键字中区分大小写。

但请注意,Windows仅保留大小写,文件名是表名。 (如果您在表示“Salesaccounts”时使用表“SalesAccounts”,那么它将在Windows上读取OK并在Linux上失败。

你应该对你想做的事情感到满意,但是   1)在Linux上测试,   2)测试您正在使用的工具。