Ошибка узла mysql2 при использовании соединений пула в серии pool.getConnection
У меня есть приложение узла и преобразовал соединение, чтобы использовать соединения пула для лучшей производительности соединения. Но возникла ошибка при вызове серии запроса на соединение. как код ниже.
pool.getConnection(function(err, connection) {
connection.query(insertQuery1, function (err, result) {
connection.release();
if (err) throw err;
});
});
pool.getConnection(function(err, connection) {
connection.query(insertQuery2, function (err, result) {
connection.release();
if (err) throw err;
});
});
pool.getConnection(function(err, connection) {
connection.query(insertQuery3, function (err, result) {
connection.release();
if (err) throw err;
});
});
pool.getConnection(function(err, connection) {
connection.query(insertQuery4, function (err, result) {
connection.release();
if (err) throw err;
});
});
pool.getConnection(function(err, connection) {
connection.query(insertQuery5, function (err, result) {
connection.release();
if (err) throw err;
});
});
Я использую mysql2 и устанавливаю connectionLimit на 10. На моем другом подключении к пулу кода работает нормально. Просто когда я делаю код, как в примере выше. Я получаю ошибку
Error: You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '?,
?)' at line 1
at Packet.asError
(/home/ubuntu/node_modules/mysql2/lib/packets/packet.js:713:13)
at Query.Command.execute
(/home/ubuntu/node_modules/mysql2/lib/commands/command.js:28:22)
at PoolConnection.Connection.handlePacket
(/home/ubuntu/node_modules/mysql2/lib/connection.js:502:28)
at PacketParser.onPacket
(/home/ubuntu/node_modules/mysql2/lib/connection.js:81:16)
at PacketParser.executeStart
(/home/ubuntu/node_modules/mysql2/lib/packet_parser.js:77:14)
at Socket.<anonymous>
(/home/ubuntu/node_modules/mysql2/lib/connection.js:89:29)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
Это можно исправить с помощью встроенного обещания. И освободите соединение внутри Promise.all. Мне просто интересно, почему я не могу сделать код выше. Если в пуле еще нет доступных соединений. это не должно бросать ошибку. Запрос должен просто ждать следующего доступного соединения.