public static void updateToDb(MySQLPool jdbcClient, String sql, JsonArray params, Handler<AsyncResult<Object>> handler) {
jdbcClient
.preparedQuery(sql)
.execute(Tuple.tuple(params.getList()), ar -> {
if (ar.succeeded()) {
RowSet<Row> rows = ar.result();
handler.handle(Future.succeededFuture(rows.rowCount()));
} else {
handler.handle(Future.failedFuture(ar.cause().getMessage()));
}
});
}
当这个方法执行多次时,提示这个错误:Can't create more than max_prepared_stmt_count
vertx版本:3.9.8
这与Vert无关。实际上是X。
max_prepared_stmt_count
是MySQL数据库的配置。
这很奇怪,因为默认是16K,这是相当高的。
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html