MySQL和Windows 10,我收到一个错误"服务器配置了lower_case_table_names = 1 ..."

时间:2016-07-16 20:05:33

标签: mysql sql

我在Windows 10上使用MySQL Server 5.7和MySQL Workbench 6.3 CE。我在多个网站上筛选了几页与此相关的问题,包括Stack Overflow,但无法弄清楚我可以在哪里修改服务器以便它is配置为lower_case_table_names = 2,而不是lower_case_table_names = 1.

我看到的很多答案都指向找到以' my.ini'或者' my.cnf',我都无法在光盘上找到它们。说实话,我是SQL的初学者,很难理解许多用户指出的教程页面,即:

http://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html

我学习的几乎所有资源都引用了大写的表名,列等,这就是我想使用大写和小写的原因。

例如,如果我创建一个名为 EmployeeInfo 的表和几列,当我点击"应用":

时会出现此错误
Apply Changes to Object

The server is configured with lower_case_table_names=1, which only allows lowercase characters in schema and table names. The object will be created as 'employeeinfo'.

我希望将表称为 EmployeeInfo 。我不希望它是小写的。但是,我无法找到所谓的“my.ini”,或“my.cnf”#39;其他答案中提到的与此问题有关的文件。

或者,当您进一步使用SQL时,习惯使用小写字体是最佳做法吗?

修改

我相信我找到了所谓的'my.ini'文件虽然没有' ini'文件类型。它被标记为'配置设置'。

但是,我找不到与' lower_case_table_name = 1'相关的任何内容。在搜索之后。

编辑2:

我找到了' lower_case_table_names'系统选项文件中的选项,并将其更改为' 2'。

但是,当我点击“应用”时,它会告诉我:

无法保存配置文件

错误如下所示:

Error

2 个答案:

答案 0 :(得分:1)

当您升级到最新版本时,此问题与Docker本身有关,升级时与我有关。尝试将Docker降级到您的早期版本。

答案 1 :(得分:0)

MySQL 5.7规范通常似乎recommend sticking with lowercase table names

  

...为了避免这种差异造成的问题,最好采用一个   一致的约定,例如总是创建和引用   使用小写名称的数据库和表。这个惯例是   建议最大程度的便携性和易用性......

无论如何,以下是您查看变量设置的方式:

SHOW variables like 'lower_case_table_names';

以下是更改该变量设置以允许CamelCase的方法:

lower_case_table_names = 1 (<- put in your mysql config file)
restart mysql