Ошибка при попытке получить значение запроса MAX в узле- mysql - PullRequest
0 голосов
/ 11 марта 2020

Мне нужно получить последний идентификатор из моей таблицы базы данных, поэтому я должен использовать MAX для его достижения, поэтому я использую запрос sql: SELECT MAX(id) FROM payments

Проблема возникает, когда я пытаюсь получить значение от объекта, когда он выдает эту ошибку: id is not defined

server. js:

app.post('/sendMail', function(req, res) {
    getLastPaymentId().then((data) => {
        lastPaymentId = data.lastPaymentId;
        console.log(lastPaymentId.MAX(id)); //here I want to get the value 
    });
    res.redirect('/');
});

function getLastPaymentId() {
    const idPayment = new Promise((resolve, reject) => {
        dbConnection.getLastPaymentId().then(data => {
            resolve(data)
        })
    });
    return Promise.all([idPayment]).then(data => {
        return {
            lastPaymentId: data[0]
        }
    })
}

dbConnection. js:

function getLastPaymentId() {
    return new Promise(function(resolve, reject) {
        const sql = "SELECT MAX(id) FROM payments";
        con.query(sql, function(err, result) {
            if(err) throw err;
            resolve(result);
        });
    });
}
module.exports.getLastPaymentId = getLastPaymentId;

Результат при простой печати объекта (console.log(lastPaymentId)): enter image description here

Это null, поскольку в моей базе данных еще нет строк.

Результат при печати значения (console.log(lastPaymentId.MAX(id))):

enter image description here

Вместо него должно быть напечатано null.

Как я могу это исправить?

1 Ответ

0 голосов
/ 11 марта 2020

Исправлена! Я только что вспомнил, что у меня была похожая проблема в прошлом, и ответ, который я получил, работал и в этом случае: Как получить доступ к значению при выполнении COUNT () с использованием node- mysql?

Извините и все равно спасибо!

...