【问题标题】:How to properly use WHERE in an UPDATE in Node.js?如何在 Node.js 的 UPDATE 中正确使用 WHERE?
【发布时间】:2020-03-12 09:58:09
【问题描述】:

我想解释一下我今天遇到的问题。

在下面的代码中,我的 PUT 工作正常,目前 PUT 更新了表中的所有行,但我希望它只更改匹配的行。

我该如何解决这个问题?

 app.put('/api/alluserpls', (req, res, ) => {
     // récupération des données envoyées
     const formData = req.body;

     connection.query('UPDATE alluserpls SET ? WHERE id = id', formData, err => {
         if (err) {
             // Si une erreur est survenue, alors on informe l'utilisateur de l'erreur
             console.log(err);
             res.status(500).send("Erreur lors de la modification des users");
         } else {
             // Si tout s'est bien passé, on envoie un statut "ok".
             res.sendStatus(200);
         }
     });
 });

【问题讨论】:

  • formData 中有什么内容?
  • @Adder formDate ,代码清理没有错误^^

标签: mysql node.js reactjs express


【解决方案1】:

您是否尝试过在 SET 之后使用 WHERE 子句?

应该是这样的:

'UPDATE alluserpls SET //your update// WHERE //your condition//'

【讨论】:

  • 嗨,是的,我知道,只是我不知道我应该把什么作为条件
  • @Adder Souvik Das,我尝试了 UPDATE alluserpls SET 吗? WHERE id = id' 但一切都变了
  • id 必须来自某个地方。 id=id 始终为真,因此您更新所有记录。您应该创建一个 PUT 端点,该端点仅用于更改一条记录,并且在路径中有一个 id,您可以使用它。
  • @Adder,你能解释一下吗?或者你有例子吗?或 Doc 了解更多信息?请
  • 我不是这方面的专家。这应该对您有所帮助:alligator.io/nodejs/express-routing 寻找 app.put
猜你喜欢
  • 2021-06-08
  • 1970-01-01
  • 2022-08-12
  • 2012-06-10
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多