'How to update multiple columns with one query?
I am trying to update multiple columns of a table following an inquirer prompt. I am getting an error following the db.query statement. Here is my code:
function updateEmpRole() {
db.query(
'SELECT * FROM role',
function(err, results) {
const role = results.map(role => {
return {name: role.title, value: role.id}
});
if (err) throw err;
db.query(
'SELECT * FROM employee',
function(err, results) {
const employee = results.map(employee => {
return {name: employee.first_name+' '+employee.last_name, value: employee.id}
});
if (err) throw err;
db.query(
'SELECT * FROM employee WHERE manager_id IS NULL',
function(err, results) {
const manager = results.map(manager => {
return {name: manager.first_name+' '+manager.last_name, value: manager.id}
});
if (err) throw err;
inquirer.prompt([
{
type: 'list',
name: 'id',
message: 'Select an employee to update:',
choices: employee
},
{
type: 'list',
name: 'role_id',
message: 'Please assign a new role:',
choices: role
},
{
type: 'list',
name: 'manager_id',
message: 'Please assign a manager:',
choices: manager
}
])
.then((response) => {
db.query(
`UPDATE employee SET role_id = ?, manager_id = ? WHERE id = ?`,
response,
function(err, results) {
console.table('Employee successfully updated.');
if (err) throw err;
startApp();
})
})
})})})};
How should I properly specify SET? I only want to update role_id and manager_id.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
