我正在使用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();});
}
});
});
});
我不知道这个代码最后一块几乎是正确的或完全错误的。 但我只能说数据库表(test_table)没有更新。
什么是fieldOne和fieldTwo?你是从查询参数还是从POST请求到/ db? – lkostka
是的,它们只是test_table中字段的示例,您可能认为它们包含一些int值。我想弄清楚如何在代码中集成这个查询。我认为有几种选择,我需要从一个开始。 fieldOne和fieldTwo是查询的一部分,我没有从任何地方获取它们。 – Michel
如果您想在执行完所有记录后执行此查询,那么为什么不在else'block'中添加client.query? – lkostka