C# 是否使用phpMyAdmin更改MySql的大小写敏感度?

C# 是否使用phpMyAdmin更改MySql的大小写敏感度?,c#,.net,mysql,blogengine.net,C#,.net,Mysql,Blogengine.net,我正在运行Blogengine.Net,并注意到所有表都是通过小写的table name be_设置创建的,但许多查询都是通过混合的case Select*from be_设置编写的。如果您的MySql实例在Windows上运行,或者设置为Windows的capatability,那么这种方法可以很好地工作。我收到一个错误,因为我的主机提供商MySql实例区分大小写。是否有可以通过phpMyAdmin更改的设置来修复此错误?如果不需要的话,我不想通过搜索所有代码来修复BlogEngine.Net

我正在运行Blogengine.Net,并注意到所有表都是通过小写的table name be_设置创建的,但许多查询都是通过混合的case Select*from be_设置编写的。如果您的MySql实例在Windows上运行,或者设置为Windows的capatability,那么这种方法可以很好地工作。我收到一个错误,因为我的主机提供商MySql实例区分大小写。是否有可以通过phpMyAdmin更改的设置来修复此错误?如果不需要的话,我不想通过搜索所有代码来修复BlogEngine.Net。

数据库是如何创建的?您可能会发现创建表的查询使用了正确的大小写:

CREATE TABLE be_Settings ( ... )
只是myisam表作为文件存储在文件系统中,因为它在Windows上,所以它们只是转换成小写。如果在linux系统上根据这些查询创建数据库,您会发现所有表的大小写都正确


从中得到的教训是始终使表格名称小写…

您所追求的设置是将小写表格名称设置为1或2。
不幸的是,这需要在MySQL守护程序启动时设置,而不是通过phpmyadmin。你能让你的主机提供商帮你做这件事吗?

MySQL表名中的大小写敏感度是特定于操作系统的。MySQL数据存储在文件中,这些文件受操作系统强制执行的任何规则的约束。例如,Linux是区分大小写的

有一个变量“lower_case_table_names”可以被操作,但似乎您必须重新创建所有的表


如果您试图为BlogEngine.Net解决这个问题,您可以轻松地重命名所有表以使用CamelCase,因为BlogEngine.Net中的所有查询都是使用CamelCase编写的

要是BlogEngine.Net遵循这个规则就好了。我检查过了,所有的表都在使用InnoDB。我能够使用phpMyAdmin重命名所有表,这样他们就可以像Blogengine.Net在所有查询中使用camelcase一样使用camelcase