MySQL:创建表

时间:2018-03-13 14:19:47

标签: mysql database-migration

我今天的问题非常简单且不言自明:有没有办法让表格区域区分大小写?我正在尝试创建一个包含所有字母和大写字母的表,因为它们是名称,而数据本身是数字或布尔值。

 ________________________
| Column Name | Datatype |
|¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯|
|      a      |    INT   |
|      b      |  TinyINT |
|      c      |    INT   |
|      d      |    INT   |
|     ...     |    ...   |
|      A      |    INT   |
|      B      |  TinyINT |
|      C      |    INT   |
|      D      |  TinyINT |
|     ...     |    INT   |
 ´´´´´´´´´´´´´´´´´´´´´´´´

我遇到的主要问题是此错误

  

错误1060:重复列名称' A' SQL语句:CREATE TABLE ...

我已经搜索了一个解决方案,但我发现的是 BINARY 方法,但它只适用于字符或只是将我的大写字段重命名为其他字段。这是从CouchDB数据库到MySQL的数据迁移的一部分,因此字段名称对于使整个程序正常工作非常重要。

有什么建议吗?此外,如果您有关于从NoSQL数据库迁移到SQL的任何提示,请随时分享它们!

1 个答案:

答案 0 :(得分:1)

The manual says

  

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

因此,根据列名称中的区分大小写的端口将无法正常工作。

关于数据库和表名的大小写敏感性,还有很多话要说。这取决于数据库服务器主机操作系统的复杂方式。

在我看来@Strawberry是对的。如果您根据区分大小写的标识符构建数据库,则会遇到麻烦。