如何使用Node.js更新MySQL中的多列

klp*_*klp 2 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) {
Run Code Online (Sandbox Code Playgroud)

但我必须更新profile_namephone,emailcountrystateaddress在一次。
任何人都可以建议我该怎么做。

Tit*_*ula 6

? 要使用 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
  }
});
Run Code Online (Sandbox Code Playgroud)

确保req.body不是,empty并且您req.body的字段与employee表中的字段相同。

如果您req.bodyundefinednull,那么您可以将此中间件添加到您的快速服务器:

app.use(express.json());
app.use(express.urlencoded({ extended: true }));
Run Code Online (Sandbox Code Playgroud)

我希望它可以帮助你。


Jen*_*ens 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) {
Run Code Online (Sandbox Code Playgroud)

  • 没有办法动态地做到这一点吗?像调用仅传递列名称的实用函数之类的东西? (2认同)