问题标签 [badsqlgrammarexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
391 浏览

java - 使用 namedjdbctemplate 执行更改以添加列时出现异常

我有一个变更查询

我在用

在执行该语句时,它向我抛出了以下异常。

我应该怎么做?

0 投票
1 回答
902 浏览

java - 在服务器中部署后出现错误的 SQL 语法异常

我正在使用 MySql,Spring MVC。

当我在我的计算机(本地主机)上运行我的代码时,它工作正常。但在远程服务器上部署后,它显示Bad SQL syntax exception

这是我的远程服务器数据库自定义错误的屏幕截图。(来自 phpMyAdmin 的屏幕截图)

在此处输入图像描述

这是文本格式的错误:

PreparedStatementCallback; 错误的 SQL 语法 [插入匹配项(id、title、location、number_of_players、over、team1、team2、toss、status、result、team_init、match_end、match_started、match_views、书签、公告、锦标赛、create_date、start_date、active_date、asst_scorer、 start_date_string) 值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; 嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; 检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 'over, team1, team2, toss, status, result, team_init, match_end, match_started, m' 附近使用正确的语法

这是我在 MySql 表中插入数据的 Java 代码

0 投票
1 回答
841 浏览

java - SQL 语法异常 - 无效字符,但查询工作正常

我写了一个查询,它获取员工的数量,我在 sql developer 中对其进行了测试,它准确且工作正常,但不知何故我在我的 IDE 日志中得到了 BadSqlGrammeException

IDE日志

JAVA代码:

请为我提供解决方案,以便我可以识别问题,是服务器端出现的问题,我正在使用 Spring MVC 框架开发 Web 应用程序。

0 投票
1 回答
280 浏览

sql - mysql错误,springframework.jdbc.BadSqlGrammarException:我收到错误消息,找不到原因

我得到了错误。

正如错误日志告诉我的那样,我查看了我的 xml。

谁能告诉我错误是什么?谢谢

0 投票
1 回答
1425 浏览

sql - 春季启动中带有本机查询的 SQLGrammarException

我试图用 Postman 运行 GettMapping。但它不起作用,我收到错误:

状态 500 错误。SQLGrammarException: 无法提取 ResultSet

存储库:

客户实体:

仪表实体:

你对我的问题有什么想法吗?

0 投票
1 回答
48 浏览

hibernate - 如何解决错误消息:必须与引用的主键具有相同的列数

我有一些模型类,我相信其中两个有错误的注释。但是,尽管我一直在寻找它,但我不知道如何正确地做到这一点。

这是模型类 - 我想实现一个商店可以有很多产品

店铺:

产品:

历史价格

当我尝试

我总是收到错误消息,说 SQLGrammarException。

在此处输入图像描述 现在,我在模型类中实现了 shop_id 和 product_id,现在我收到另一条错误消息,说:

product [product_id])) 必须具有与引用的主键相同的列数 (shop [shop_id,id])

也许有人可以帮我解决这个问题。

提前致谢

0 投票
1 回答
200 浏览

java - BadSqlGrammarException with namedParameterJdbcTemplate 但不是 psql

我正在将 Postgres 列的类型从UUID更改TEXT

但我想确保我的代码适用于两种列类型。即因为很难将数据库的更改与在服务器上运行的代码同步。

我正在通过在类型之间切换来进行本地测试。这可以通过移回 UUID 来完成(当数据格式正确时)

这行得通。但是当切换到 aTEXT并运行我的 Java 代码时,我注意到测试中有一些失败。特别是当一个WHERE语句使用switched时id。例如

生成

这对我来说很有意义,因为namedParameterJdbcTemplate我正在使用的类是::uuid在 SQL 查询的 id 末尾添加一个。我不确定它为什么要这样做,但可以通过将传入的参数从 UUID 转换为字符串来解决它。

但是,如果我将列切换回UUID我会收到以下错误

生成

我可以接受导致问题的第一个更新查询,因为我可以在psql命令行上运行它并得到相同的错误。然而,这不会发生在第二个命令中psql

此外,如果我停止使用namedParameterJdbcTemplate's 参数并将值烘焙到 sql 字符串中,它就可以工作。

生成

错误:运算符不存在:uuid = 字符变化

SQLStateSQLExceptionTranslator.java.

相对

哪个有效。

为什么会这样?感觉就像在做namedParameterJdbcTemplate一些我找不到的额外类型检查。

0 投票
1 回答
580 浏览

java - org.hibernate.exception.SQLGrammarException:无法在 heroku 中提取 ResultSet

再会。我有部署在 Heroku 上的应用程序。应用程序在 Spring Boot 上编写。它在本地运行良好。如果我输入(管理员,在 liquebase 中插入的密码),它在 Heroku 中运行良好。我可以在 heroku 中打开带有迁移数据的页面。但是,如果我想创建新用户或新主题(例如在 DB 中插入),我会收到 org.hibernate.exception.SQLGrammarException:无法提取 ResultSet。我没有任何想法和理解如何解决它。你可以帮帮我吗?我使用 PostrgeSQL ,春季启动

liquebase schema.sql 的脚本

insert.sql 的脚本

应用程序属性

heroku.properties

档案

pom.xml

部署期间的日志文件

状态 500 期间的日志文件

实体

控制器

用户服务粗

话题服务粗略

0 投票
0 回答
16 浏览

spring-boot - org.hibernate.exception.SQLGrammarException:无法准备语句是什么意思?

如果您正在开发 Spring Boot 应用程序,那么您很有可能会使用 hibernate 将 java 对象映射到关系数据库。在这种情况下,JPA 实体(可以存储在数据库中的预定义 POJO)被传递给 Spring-DAO,然后使用休眠来存储数据。

因此,所有的 sql 查询都由 hibernate 处理,从而消除了在 sql 语句中出现语法错误的机会。

然而,我最近进入org.hibernate.exception.SQLGrammarException: could not prepare statement了我的 Spring Boot 应用程序,我很想知道,

  1. 实际上是什么org.hibernate.exception.SQLGrammarException: could not prepare statement意思?和,
  2. 可能引发此异常的可能原因是什么(它仅与 SQL 语法有关还是可以指向代码中的其他一些问题)?