更新学生
function update_student(req, student, next, res) {
console.log('----',student);
if (Object.keys(student).length > 0) {
var query = updateQuery('student', req, student, '_id');
var update_data = [];
Object.keys(student).forEach(function(key) {
update_data.push(student[key])
});
db.query(req, update_data).then(function(result) {
return res.send('Updated');
})
}
else {
return res.send('nothing to update');
}
};
更新查询
function updateQuery(tablename, id, data, condition) {
var query = ['UPDATE'];
query.push(tablename)
query.push('SET');
var set = [];
Object.keys(data).forEach(function(key, i) {
if ((key == 'university_id') || (key == 'name') || (key == 'branch') || (key == 'age') || (key == 'email')) {
set.push('"' + key + '"' + ' = $' + (i + 1));
} else {
set.push(key + ' = $' + (i + 1));
}
});
query.push(set.join(', '));
query.push('WHERE ' + condition + ' = ' + id);
return query.join(' ');
}
代码中有什么问题?我正在尝试使用node.js在postgreSQL中编写更新查询。我无法使用此查询更新学生表。