如何使用node.js更新MySQL中的多个列:
var query = 'UPDATE employee SET profile_name = ? WHERE id = ?';
connection.query(query,[req.name,req.id] function (error, result, rows, fields) {
但我必须立即更新profile_name
,phone,email
,country
,state
,address
。
我怎么能这样做,任何人都可以建议。
答案 0 :(得分:5)
只需在集合中添加所有列:
var query = 'UPDATE employee SET profile_name = ?, phone =?, .. WHERE id=?';
connection.query(query,[req.name,req.phone,...,req.id] function (error, result, rows, fields) {
答案 1 :(得分:3)
?? 要使用nodejs更新mysql中的多列,那么您可以像下面的代码那样进行操作:?
const query = 'UPDATE `employee` SET ? WHERE ?';
connection.query(query, [req.body, req.params], function(err, rows) {
if(err) {
console.log(err.message);
// do some stuff here
} else {
console.log(rows);
// do some stuff here
}
});
?请确保您的
req.body
不是empty
,并且req.body
中的字段与employee
表中的字段相同。
如果您的req.body
是undefined
或null
,则可以将此中间件添加到快递服务器中:
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
我希望它能对您有所帮助。
答案 2 :(得分:1)
UPDATE
语句语法:
UPDATE <TableName>
SET <Col1> = <Val1>,
<Col2> = <Val2>,
....
WHERE id = ?
答案 3 :(得分:0)
如果您更新了多列,并且需要从Object中获取值, 您可以执行以下操作-
let data = {
"table": {
"update_table":"dlrecustomer"
},
"result": {
"pro":"blre",
"pro_id":"BFCA",
"MOBILE":"9506443333",
},
"keys": {
"CUSTOMER":"27799144",
"APPLICATION":"5454642463"
},
}
let update_set = Object.keys(data.result).map(value=>{
return ` ${value} = "${data.result[value]}"`;
});
let update_query = `UPDATE ${data.table.update_table} SET ${update_set.join(" ,")} WHERE CUST_ID = "${data.keys.CUSTOMER}" AND APPL_ID = "${data.keys.APPLICATION}"`;