Я работаю с Node.js и Heroku; и у меня есть вопрос по поводу следующего кода, который я нашел в Интернете:Node.js и Heroku, как вставить второй запрос?
app.get('/db', function (request, response) {
pg.connect(process.env.DATABASE_URL, function(err, client, done) {
client.query('SELECT * FROM test_table', function(err, result) {
done();
if (err)
{ console.error(err); response.send("Error " + err); }
else
{ response.render('pages/db', {results: result.rows}); }
});
});
});
Это перечисляет содержимое test_table таблицы, но я также хочу, чтобы выполнить следующий запрос:
* "INSERT INTO test_table (fieldOne, fieldTwo) VALUES (MAX (fieldOne) +1, MAX (fieldTwo) 2)»
Как я могу интегрировать это в коде выше?
Вот то, что я пытался, но безуспешно:
app.get('/db', function (request, response) {
pg.connect(process.env.DATABASE_URL, function(err, client, done) {
client.query('SELECT * FROM test_table', function(err, result) {
done();
if (err)
{ console.error(err); response.send("Error " + err); }
else {
response.render('pages/db', {results: result.rows});
client.query("INSERT INTO test_table (id, name) VALUES (MAX(id)+1,'TEST')", function(err, result) {done();});
}
});
});
});
Я не знаю, если это последний кусок кода почти прямо или совершенно неправильно. Но все, что я могу сказать, это то, что таблица DB (test_table) не обновляется.
Что такое fieldOne и fieldTwo? Получаете ли вы их из параметров запроса или из запроса POST в/db? – lkostka
Да, это просто примеры полей в test_table, вы можете думать о них как о том, что они содержат некоторые значения int. Я пытаюсь выяснить, как я могу интегрировать этот запрос внутри кода. Я предполагаю, что есть несколько вариантов, мне нужно начать с одного. fieldOne и fieldTwo являются частью запроса, который я не получаю нигде. – Michel
Если вы хотите выполнить этот запрос, как только у вас есть все записи, почему бы не добавить client.query в блок else? – lkostka