表明明存在,但是就是报错表不存在

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 表明明存在,但是就是报错表不存在

问题描述


今天在做系统迁移的时候更换了数据库版本,表结构和数据都同步过去后项目死活起不来,总是报错 XXX 表不存在,检查数据源配置啥的都是没问题的!后面发现原来是表名大小写的原因,程序中使用的查询的 SQL 是 SELECT * FROM XXX,但是数据库里面的表却是 xxx,大小写不一样所以竟然报错表不存在!


解决方案


MySQL 数据库中,默认情况下,表名是区分大小写的。这意味着 MyTablemytable 是两个不同的表名。然而,有时我们希望表名不区分大小写,即可以通过 SELECT * FROM MyTableSELECT * FROM mytable 来访问同一个表。此时我们需要设置 MySQL 表名忽略大小写。


要配置 MySQL 忽略表名大小写,你需要进行以下步骤:


  1. 打开 MySQL 的配置文件。在 Ubuntu 上,该文件通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf,而在 CentOS 上,则是 /etc/my.cnf
  2. 在配置文件中找到 [mysqld] 部分,并在该部分下添加或修改以下行:


lower_case_table_names = 1


  1. 保存并关闭配置文件。
  2. 重新启动 MySQL 服务以使更改生效。在 Ubuntu 上,可以使用以下命令:


sudo systemctl restart mysql


  1. 在 CentOS 上,可以使用以下命令:


sudo systemctl restart mysqld


做完上面的步骤之后就可以了!


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 关系型数据库 MySQL
如何在MySQL现有表中添加自增ID?
如何在MySQL现有表中添加自增ID?
844 5
如何在MySQL现有表中添加自增ID?
|
网络协议 Windows
59【工控通信】ModbusTCP通讯之ModbusPoll客户端工具配置
【工控通信】ModbusTCP通讯之ModbusPoll客户端工具配置
911 0
|
Android开发 数据安全/隐私保护
老板叫我写个APP自动化--登录脚本--简单输出
老板叫我写个APP自动化--登录脚本--简单输出
241 0
老板叫我写个APP自动化--登录脚本--简单输出
|
存储 设计模式 缓存
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
该文章主要介绍了如何在OpenFeign中集成Ribbon以实现负载均衡,并详细分析了Ribbon中服务选择和服务过滤的核心实现过程。文章还涉及了Ribbon中负载均衡器(ILoadBalancer)和负载均衡策略(IRule)的初始化方式。
OpenFeign集成Ribbon负载均衡-过滤和选择服务核心实现
|
消息中间件 大数据 Kafka
【建议收藏】技术人必看:如何选择适合你公司的消息队列工具
本文介绍了消息队列在系统架构中的三大作用:异步处理、削峰填谷和解耦,并通过实例详细阐述了每种作用的优势。文中推荐了三款消息队列工具:RabbitMQ适合中小型公司,因其开源和社区活跃;RocketMQ适合大型公司,因其强大的二次开发能力;而在大数据领域,Kafka是实时计算和日志采集的标准选择。作者小米鼓励读者根据自身需求选择合适的消息队列,并邀请大家探讨技术话题。
534 2
|
数据采集 缓存 JavaScript
​DrissionPage,Python浏览器自动化又一神器~
​DrissionPage,Python浏览器自动化又一神器~
565 1
|
存储 缓存 Linux
深入理解Linux中的`db_load`命令:数据库加载的利器
`db_load`是Linux下处理Berkeley DB的关键命令,用于将文本数据加载到数据库中。它支持多种文本格式,如键值对和CSV,并具有灵活的选项,如指定数据库类型、缓存大小、日志记录和错误处理。通过`-f`加载文本文件,`-s`设定数据库类型,`-l`设置缓存。本文详细介绍了`db_load`的使用方法和高级特性,并给出案例,如将CSV用户信息加载到Btree数据库。了解并善用`db_load`能提升数据处理效率和安全性。
|
机器学习/深度学习 传感器 监控
利用机器学习优化数据中心能效
在数据中心管理和运营中,能效优化是减少能源消耗、降低运营成本的关键。本文探讨了应用机器学习技术对数据中心的能效进行实时监控和优化的方法。通过分析历史数据和实时参数,构建预测模型来指导冷却系统的调整,实现智能化能源管理。结果表明,该方法可以显著提升数据中心的能源使用效率,为绿色计算提供技术支持。
|
Java
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
2239 0