Caused by: java.sql.BatchUpdateException: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED
翻译这句话就是:不能执行语句:可能的一个原因是由于将BINLOG_FORMAT这个参数设置成了STATEMENT,并且还至少存在一张使用了被限制于行级别日志存储的引擎。当事务的隔离级别是READ COMMITTED或者READ UNCOMMITTED的时候InnoDB被限制于使用(row)行级别的日志记录。
解决方法就是让日志记录的格式改成row(行)格式,因为InnoDB在READ COMMITTED or READ UNCOMMITTED这两个隔离级别下必须使用row-logging。
解决方案:修改配置文件my.conf,增加参数binlog_format=row
还有一种解决方案,就是改变事物的隔离级别。