mysql - 由于使用 .NET MySQL 连接器的 MySQL 查询区分大小写,未找到表
问题描述
我正在使用我使用带有 XSD(表适配器)的 .NET 4.0 创建的旧网站。我已将我的数据库从 MySQL 5.4 迁移到 AWS RDS 上的 MySQL 5.7。
我遇到的问题是,当我运行网站时,它找不到表,因为在某些查询中它会搜索开头带有大写字母的表。如果我将表名更改为大写字母,它会找到它。这是一个旧项目,我不想乱用旧代码。
我使用 .NET MySQL 连接器。
show variables where Variable_name='lower_case_table_names'
以上返回“0”,表示“在 CREATE TABLE 或 CREATE DATABASE 语句中指定的字母大小写”。名称比较区分大小写。
有没有办法更新 web.config 或在 MySQL 数据库中做一些事情以使其工作,以便查询将被视为不区分大小写?
解决方案
RDS 上的 MySQL 5.7 在 RDS 配置面板的 GROUP PARAMETERS 中没有 lower_case_table_names 的值。一旦我将它设置为 1 并重新启动服务器,我的旧 .NET 网站就可以正常工作。
推荐阅读
- algorithm - 这个 LCM 问题有更好的解决方案吗?
- flutter - 颤振:primaryColorLight!= null':不正确
- java - 将数据插入数据库时出现 SQLException
- android - Android Paging 库 sqlite 数据存储关注
- c - 从文件中读取浮点数时c中的fread()问题
- html - 水平滚动里面有物品
- python - 如何识别图像的正确性?
- javascript - 为什么文件上传到服务器时缺少数组声明
- css - CSS Bootstrap 输入文本透明,仅底部边框(Chrome)
- python - {{ domain }} 成为本地电脑上的 example.com