Я использую NodeJS для вставки данных в таблицу со многими отношениями, и я хочу включить два внешних ключа, когда я вставляю данные в таблицу, так выглядит мой код:NodeJS/MySQL возвращает результаты запроса к переменной
con.query("SELECT * FROM Transaction WHERE TransactionID > 1", function(err, res) {
if (err) {
throw (err);
} else if (res.length > 0) {
console.log("Transaction already exit");
} else {
var transactionID;
var filePK;
con.query("SELECT Filename FROM File WHERE Filename = ?", fileName, function(err, res) {
if (err) throw err;
filePK = JSON.stringify(res);
});
con.query("SELECT TransactionDescriptionPK FROM TransactionDescription WHERE TransactionDescriptionPK > 0", function(err, res) {
if (err) throw err;
//console.log(res);
transactionID = res;
});
var tran = {
TransactionID: data.ID,
TransactionDate: data.Description,
Amount: data.Amount
};
con.query("INSERT INTO Transaction SET ?", tran, function(err, res) {
if (err) throw err;
});
Как я возвращаю результаты из этих запросов, чтобы добавить их в объект tran?
спасибо за редактирование –
Если я правильно понимаю вашу проблему правильно, вы хотите, чтобы вернуть результат запросов от вашей основной функции. Это невозможно, вам нужно будет использовать асинхронный обратный вызов или обещания, потому что запрос MySQL уже является асинхронным. Например, взгляните на [это] (https://www.codementor.io/nodejs/tutorial/manage-async-nodejs-callback-example-code). – CherryDT