Спасибо, что взглянули на это! Я пытаюсь обновить несколько записей в MySQL одним запросом; Тем не менее, я использую класс с Promises для создания группы запросов синхронизации, и я не могу заставить это работать. Вот что у меня сейчас есть:
req.body - массив объектов с двумя парами ключ / значение ...
API:
router.post('/verified', (req, res) => {
let database = new Database(dbOptions);
let verifiedItemsArray = [];
let sqlQueryArray = [];
let updateQuery = 'UPDATE `raw_unverified` SET `funding_source` = ? WHERE `ritm_number` = ?';
let verifiedItemArray = [req.body[0].funding_source, req.body[0].ritm_number];
database.beginTransaction([updateQuery], verifiedItemArray)
.then(response => console.log(response))
.catch(error => console.log(error));
res.send('Update Successful');
});
класс базы данных:
class Database {
constructor(config) {
this.connection = mysql.createConnection(config);
}
query(sqlQuery, sqlArgs) {
console.log(sqlQuery);
return new Promise( (resolve, reject) => {
this.connection.query(sqlQuery, ((sqlArgs) ? [sqlArgs] : null), (error, results) => {
if (error) return reject(error);
resolve(results);
});
});
}
beginTransaction(sqlQueries, sqlArgs) {
return new Promise( (resolve, reject) => {
let allResults = [];
this.connection.beginTransaction( (error) => {
if (error) return reject(error);
for (let i = 0; i < sqlQueries.length; i++) {
this.query(sqlQueries[i], ((sqlArgs) ? sqlArgs[i] : null))
.then((results) => {
allResults.push(results);
})
.catch((error) => {
throw error;
});
}
this.connection.commit( (error) => {
if (error) return reject(error);
resolve(allResults);
});
});
});
}
}
module.exports = Database;
И вот ошибка, которую я получаю:
ОБНОВЛЕНИЕ raw_unverified
SET funding_source
=? ГДЕ ritm_number
=?
(узел: 8216) UnhandledPromiseRejectionWarning: Ошибка: ER_PARSE_ERROR: в синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '?' в строке 1
Любая помощь будет высоко ценится, и все, что я мог бы сделать лучше, пожалуйста, не стесняйтесь указывать!
Заранее всем спасибо!