使用MySQL-Front导入SQL文件提示:SQL execution error # 1064. Response from the database:

本文解决使用MySQL-Front导入SQL文件时遇到的SQL执行错误#1064的问题,通过升级MySQL-Front版本成功解决问题。

使用MySQL-Front导入SQL文件提示:SQL execution error # 1064. Response from the database:

 

错误原因:MySQL-Front版本太低,导入SQL文件失败

解决办法:升级MySQL-Front

2025-11-19 19:04:34.280 ERROR 11320 --- [nio-4001-exec-3] com.juyuansoft.config.WebMvcConfig : 接口 [/business/waterExceed/list] 出现异常,方法:com.juyuansoft.shpms.business.controller.WaterExceedController.list,异常摘要:nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Method queryTotal execution error of sql : SELECT COUNT(1) FROM JL_WATER EXCEED ### The error may exist in com/juyuansoft/shpms/business/mapper/WaterExceedMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Method queryTotal execution error of sql : SELECT COUNT(1) FROM JL_WATER EXCEED org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Method queryTotal execution error of sql : SELECT COUNT(1) FROM JL_WATER EXCEED ### The error may exist in com/juyuansoft/shpms/business/mapper/WaterExceedMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Method queryTotal execution error of sql : SELECT COUNT(1) FROM JL_WATER EXCEED
最新发布
11-20
你遇到的异常日志关键信息如下: ``` Error: Method queryTotal execution error of sql : SELECT COUNT(1) FROM JL_WATER EXCEED ``` --- ### ❌ 错误原因分析 #### 核心问题: ```sql SELECT COUNT(1) FROM JL_WATER EXCEED ``` 这条 SQL 语句中,**表名被错误地拆成了两个单词 `JL_WATER EXCEED`**,导致数据库认为你要从一个叫 `JL_WATER` 的表查询,并且给它起了个别名 `EXCEED`。 但实际你想查的表应该是:**`JL_WATER_EXCEED`**(中间是下划线 `_`,不是空格) > 所以这是典型的 **SQL 语法错误** —— 因为缺少下划线或引号,解析器把表名断开了。 --- ### 🔍 深层原因定位 你在使用 MyBatis-Plus 分页查询,框架会自动执行一个 `queryTotal` 查询来获取总数。这个错误发生在分页统计阶段。 常见于以下几种情况: #### ✅ 场景 1:Entity 类上的 `@TableName` 注解写错了 ```java @TableName("JL_WATER EXCEED") // ❌ 错误!用了空格而不是下划线 public class WaterExceed { // ... } ``` 应改为: ```java @TableName("JL_WATER_EXCEED") // ✅ 正确 public class WaterExceed { // ... } ``` --- #### ✅ 场景 2:Mapper XML 中手动写了错误的 SQL 如果你在 `WaterExceedMapper.xml` 中自定义了分页 count 查询,可能写成了: ```xml <select id="selectPage" resultType="long"> SELECT COUNT(1) FROM JL_WATER EXCEED </select> ``` 应修正为: ```xml <select id="selectPage" resultType="long"> SELECT COUNT(1) FROM JL_WATER_EXCEED </select> ``` --- #### ✅ 场景 3:数据库不支持大小写敏感或需要引号(Oracle 特别注意) 如果表名是小写的,但在 Oracle 中未加双引号,也可能出错。 比如你建表语句是: ```sql CREATE TABLE "jl_water_exceed" (...); ``` 那么必须用双引号引用才能查到: ```java @TableName("`jl_water_exceed`") // MySQL 反引号;Oracle 需要双引号 ``` 但在多数情况下推荐统一使用大写命名避免问题: ```java @TableName("JL_WATER_EXCEED") ``` --- ### ✅ 解决方案步骤 #### ✅ 第一步:检查实体类注解 ```java import com.baomidou.mybatisplus.annotation.TableName; @TableName("JL_WATER_EXCEED") // 确保这里是一个完整的表名,无空格 public class WaterExceed { // 字段定义... } ``` > ⚠️ 绝对不要写成 `"JL_WATER EXCEED"` 或 `"JL-WATER-EXCEED"` --- #### ✅ 第二步:检查 Mapper 接口和 XML 文件(如有) 确保没有手写错误 SQL: ```xml <!-- WaterExceedMapper.xml --> <mapper namespace="com.juyuansoft.shpms.business.mapper.WaterExceedMapper"> <!-- 如果有自定义 count 查询,请检查 --> <select id="queryTotal" resultType="long"> SELECT COUNT(1) FROM JL_WATER_EXCEED </select> </mapper> ``` 如果没有特殊需求,可以删除此方法,让 MyBatis-Plus 自动生成即可。 --- #### ✅ 第三步:确认数据库中表真实存在 登录数据库执行: ```sql -- Oracle / Standard SQL SELECT * FROM ALL_TABLES WHERE TABLE_NAME = &#39;JL_WATER_EXCEED&#39;; -- 或者直接查询数据 SELECT COUNT(1) FROM JL_WATER_EXCEED; ``` 确保表名拼写正确、存在且可访问。 --- #### ✅ 第四步:重启应用并测试 修改后重新编译部署,再次调用 `/business/waterExceed/list` 接口。 --- ### 🛠️ 补充建议:启用 MyBatis 日志查看真实 SQL 在 `application.yml` 中开启 SQL 输出: ```yaml mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` 这样可以在控制台看到实际执行的 SQL,便于排查。 --- ### ✅ 总结 | 问题 | 原因 | 修复方式 | |------|------|-----------| | `FROM JL_WATER EXCEED` | 表名含空格 | 改为 `JL_WATER_EXCEED` | | 实体类 `@TableName` 错误 | 使用了空格或连字符 | 使用正确下划线名称 | | XML 手动写错 SQL | 人为笔误 | 检查并修正 SQL | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值