- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个批量更新函数,不包含任何 GROUP_CONCAT() 调用;
UPDATE
product
SET
viewed = ?
WHERE
product_id = ?
如您所见,这是一个准备好的声明。我设置它的值,然后使用 addBatch() 方法为每行添加它。当我的计数达到定义的限制(1000)时,我将调用executeBatch()以进行数据库修改。正如你所看到的,在我的批量更新过程中没有调用 group_concat() ,但是 mysql jdbc 抛出了这个异常。 批量更新和group_concat()之间的隐藏关系是什么?为什么?我该如何解决这个问题?减少批处理限制或增加 group_concat() 限制?
我的堆栈跟踪是;
java.sql.BatchUpdateException: Row 276751 was cut by GROUP_CONCAT()
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2054)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1467)
at datasource.DB.execPreparedStatement(DB.java:480)
at datasource.DB.addBatch(DB.java:467)
at cj.reportsummarydaily.ProductViewed.executeJob(ProductViewed.java:24)
at job.Job.executeCore(Job.java:101)
at job.Job.execute(Job.java:77)
at cj.reportsummarydaily.Main.executeJobMeta(Main.java:35)
at job.JobMeta.execute(JobMeta.java:32)
at cronjob.CronJob.main(CronJob.java:66)
Caused by: java.sql.SQLException: Row 276751 was cut by GROUP_CONCAT()
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2006)
... 9 more
最佳答案
我发现并解决了问题。我们的一位前程序员在表产品上的更新触发器之前编写了一个错误。因此,当我更新产品表时,触发器在某些特定记录上引发了该异常。我正确地重新编程了触发器,还添加了以下代码以增加 group_concat 限制;
SET group_concat_max_len=1024 * 10;
关于mysql - java.sql.BatchUpdateException : Row x was cut by GROUP_CONCAT(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27634224/
下面的代码给出了一个BatchUpdateException,我不知道为什么。 public void createContactmoment(Document document) { try
当我由于违反唯一约束而出现 BatchUpdateException 时,是否有办法确定批插入中的哪条记录违反了规定?例如,假设我正在通过调用 PreparedStatement.executeBat
我有一个 java 程序,可以将文本文件中的数千行数据读取到数据库中。它使用语句批处理一次插入几千行。 如果任何行无法更新,我将继续尝试其余行,直到列表末尾。之后,我返回并检查哪些行失败,然后将这些行
这个问题可能很愚蠢,但我面临着这种情况: 我有一个每次用户发送请求时都会填充的表,我在插入的最后一行中的一个字段(日期)上使用日期。问题是,我插入的最后一行总是会尝试插入自身,因为它在我正在考虑的范围
我正在使用批处理在数据库中插入大量记录。如果其中任何一个失败,我只会在更新计数数组中获得记录号(和最后一条异常消息)。 是否有可能得到所有错误的原因? 我正在使用 Java7 和 Mysql 连接器
我从 stmt.executeBatch() 语句中得到这个 BatchUpdateException: BatchUpdateException: A resultset was created f
我有许多映射数据流在过去几个月中一直定期运行,其中一些从昨天开始出现故障。 数据流模式是 - Source: 2 Azure SQL DB tables, a lookup table in Syna
我对 Hybris 非常陌生,我正在开发 6.2 版本。经过一些尝试后,我决定创建一个新的空扩展来工作。因此,第一步是创建一个新文件夹,在其中导入平台的所有“准备好的”B2C 扩展。这样做之后我导入了
我正在使用 Postgres 9.3、Spring 和 Java。 对于来自 javadoc 的 BatchUpdateException: After a command in a batch up
我编写了一个 java 程序,它使用 jdbc 连接到 mysql 数据库。它将记录插入到 mysql。sql是这样的: INSERT INTO my_schema.my_table VALUE
我尝试使用 PreparedStatement.executeBatch() 执行批处理查询,并 try catch BatchUpdateException 中发生的任何异常。但我在调用 Batch
我有一个类似 的域 class BusinessOrganization { static hasMany = [organizationBusinessTypes:OrganizationB
我正在使用具有一对一关系的 Hibernate XML 映射构建一个应用程序。我的实体是 Auto 和 Targa。 这是我的 Java 类定义。 Targa.java public class Ta
我遇到了一些麻烦。 我正在尝试列出一些有关在 executeUpdate() 期间失败的查询的数据,并且我读到可以捕获 BatchUpdateException 然后获取 updateCount,它会
我有一个批量更新函数,不包含任何 GROUP_CONCAT() 调用; UPDATE product SET viewed = ? WHERE product_id = ? 如
一些遗留代码表现出奇怪的行为。我有一个 Hibernate 标准: Session session = em.unwrap(Session.class); Criteria crit = sessio
spark2.2 中使用 jdbc 驱动写入 TiDB 时出现此错误: java.sql.BatchUpdateException: transaction too large, len:300200
我正在尝试使用额外的列保存多对多关系,但我的代码运行不正常。我希望有人能帮助我 我的数据库是: CREATE TABLE MUSICISTA ( ID INTEGER UNSIGNED NOT N
我正在尝试使用 JdbcTemplate 将当前时间戳存储在 Oracle 数据库中。我试图在其中存储两列 timestamp ,但一列是 VARCHAR ,一列是 TIMESTAMP ,但是查看异常
我正在尝试从 MATLAB 写入 PostgreSQL 数据库表。我已经使用 JDBC 建立了连接并创建了表,但是当我尝试插入记录时出现 BatchUpdateException。 插入数据的 MAT
我是一名优秀的程序员,十分优秀!