我今天的问题非常简单且不言自明:有没有办法使表字段区分大小写?我正在尝试创建一个表,其中所有字母都小写和大写作为名称,而数据本身是数字或 bool 值。
________________________
| Column Name | Datatype |
|¯¯¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯|
| a | INT |
| b | TinyINT |
| c | INT |
| d | INT |
| ... | ... |
| A | INT |
| B | TinyINT |
| C | INT |
| D | TinyINT |
| ... | INT |
´´´´´´´´´´´´´´´´´´´´´´´´
我遇到的主要问题是这个错误
Error 1060: Duplicate column name 'A' SQL Statement: CREATE TABLE ...
我已经搜索过解决方案,但我发现的是 BINARY 方法,但它仅适用于字符,或者只是将我的大写字段重命名为其他内容。这是从 CouchDB 数据库到 MySQL 的数据迁移的一部分,因此字段名称对于使整个程序正常工作非常重要。
有什么建议吗?另外,如果您有任何关于从 NoSQL 数据库迁移到 SQL 的技巧,请随时分享!
最佳答案
Column, index, stored routine, and event names are not case sensitive on any platform, nor are column aliases.
因此,取决于列名称中区分大小写的端口将无法正常工作。
它还有很多关于数据库和表名称的大小写敏感性的内容。这在很大程度上取决于数据库服务器的主机操作系统。
我认为@Strawberry 是对的。如果您根据区分大小写的标识符构建数据库,那么您就是在自找麻烦。
关于MySQL : case sensitive field name while creating table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49258580/