【问题标题】:MySQL: Can't give tables a name in Upper Camel Case (Pascal Case)MySQL:不能在大驼峰(Pascal Case)中给表命名
【发布时间】:2011-05-20 15:12:15
【问题描述】:

我读到最好的做法是在 Pascal Case (ThisIsMyTableName) 中使用表名。 因此,我想更改我在 MySQL 中的表。但是 phpmyadmin 和 MySQL 的 SQL Manager 2005 都不会让我这样做。名称保持以小写形式显示,就好像我根本没有改变一样。

有解决这个问题的建议吗?

【问题讨论】:

  • 我假设您使用的是 Windows?
  • Pekka:有关系吗?
  • @Gabe:是的,是的。 Windows 对 MySQL 表名不区分大小写,而其他操作系统通常是。
  • 我不同意这是 MySQL 中的最佳实践,特别是因为 MySQL 表名中的大小写敏感性取决于底层系统。只需将它们保持小写并使用_underscores。

标签: mysql naming-conventions camelcasing pascalcasing


【解决方案1】:

解决此问题的最简单方法是将以下内容添加到您的 .ini 文件中

lower_case_table_names=2

2 是这里对于 Windows 的意义。你可以在这里阅读更多关于它的信息Identifier Case Sensitivity

【讨论】:

    【解决方案2】:

    由于区分大小写的问题,我建议不要混合大小写。在一个案例无关紧要的平台上经过全面测试的解决方案在部署在案例确实重要的平台上时实际上可能会失败。仅出于这个原因,我建议坚持全部大写或全部小写。 我使用小写字母是因为它更容易看,并且在大多数编辑器中使用的固定宽度字体中更容易发现拼写错误。

    【讨论】:

    • 我不知道MySQL中区分大小写的支持是依赖于底层操作系统的。我想我会选择下划线!
    【解决方案3】:

    使用RENAME

    示例:

    RENAME TABLE this_is_my_table_name TO ThisIsMyTableName;
    

    详情:http://dev.mysql.com/doc/refman/5.1/en/rename-table.html

    【讨论】:

      【解决方案4】:

      在 MySQL 中,您可以在任何地方使用quote the table names 以使其保持大小写且敏感。

      `MyTableName`
      

      【讨论】:

      • @PHPst:你必须在创建表时这样做,然后每次都这样做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多