如何使用nodejs更新mysql中的多个列

时间:2016-09-14 06:49:23

标签: mysql node.js express

如何使用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_namephone,emailcountrystateaddress
我怎么能这样做,任何人都可以建议。

4 个答案:

答案 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.bodyundefinednull,则可以将此中间件添加到快递服务器中:

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}"`;