MySQL的大小写敏感度

时间:2015-04-03 17:14:18

标签: java mysql linux database ubuntu

我正在用hibernate开发一个JSP,Servlet(纯jsp和servlet)应用程序。

我知道在“大多数”Linux系统中,MySQL表名和数据库名都区分大小写,而在Windows和Apple中则是另一种方式。我刚刚以艰难的方式学到了这一点,最终取代了数据库中的表名和我的java代码。

但是我只能在Ubuntu中测试。我有混合案例的“列”名称。例如,“员工”表格的某些列为idEmployeeFirstNameLastNameHomeAddressPhoneNumber等。

我知道ubuntu并没有在表“列”名称的区分大小写方面遇到麻烦,但是其他Linux系统呢?是否有任何linux / unix操作系统对“列名称”区分大小写?

1 个答案:

答案 0 :(得分:3)

我认为你不必担心。 documentation很明显,列别名不区分大小写:

  

列,索引,存储例程和事件名称不区分大小写   在任何平台上,也不是列别名。

     

。 。

     

默认情况下,表别名在Unix上区分大小写,但不是这样   Windows或OS X。

如果我不得不推测为什么区分大小写遵循底层操作系统的默认区分大小写,我猜想在某些情况下(特别是很久以前MySQL开发时),表格以自己的名字存储在文件中。现在它由lower_case_table_names系统变量控制,该变量在不同的操作系统上具有不同的默认值。