Table 由于区分大小写 MySQL 使用 .NET MySQL 连接器查询未找到

Table isn't found due to case-sensitivity MySQL query using .NET MySQL Connector

我使用的是我使用 .NET 4.0 和 XSD(Table 适配器)创建的旧网站。我已将我的数据库从 MySQL 5.4 迁移到 AWS RDS 上的 MySQL 5.7。

我遇到的问题是,当我 运行 网站时,它找不到 table 因为在某些查询中它搜索 table 带有开头的大写字母。如果我将 table 名称更改为大写字母,它会找到它。这是一个老项目,我不想乱用旧代码。

我使用 .NET MySQL 连接器。

show variables where Variable_name='lower_case_table_names'

上面的returns'0'表示'lettercase specified in the CREATE TABLE or CREATE DATABASE statement. Name comparisons are case sensitive.'

有没有办法更新 web.config 或在 MySQL 数据库中执行某些操作以使其正常工作,以便查询不区分大小写?

RDS 上的 MySQL 5.7 没有 RDS 配置面板中 GROUP PARAMETERS 中 lower_case_table_names 的值。一旦我将它设置为 1 并重新启动服务器,我的旧 .NET 网站就可以正常工作了。

试一试 其中 Variable_name 喜欢 'lower_case_table_names