如何使用 js 仅更新 MySQL 数据库中的一个属性?

How can I update just one atribute in my MySQL database using js?

关于只更新一个属性而不是像这段代码中的所有属性,我有一个小问题。

router.put("/update/:id", (req, res) => {
    const id = req.params.id;
    Account.update(req.body, {
            where: { id: id },
        })
        .then((num) => {
            if (num == 1) {
                res.send({
                    message: "Informatiile au fost actualizate cu succes.",
                });
            } else {
                res.send({
                    message: `Nu pot actualiza informatiile pentru contul cu id=${id}.`,
                });
            }
        })
        .catch((err) => {
            res.status(500).send({
                message: "Eroare actualizare date pentru id=" + id,
            });
        });
});

我的数据库中的一个寄存器如下所示:

{
  name: 'x',
  password: 'x',
  activated: 0
}

我只想让 0 合 1,我不知道我的代码必须更改什么,因为如果我使用此代码,我将更新所有参数(名称、密码、已激活)我只想更新一个。

您似乎在使用 sequelize。在 sequelize 中仅更新一个字段,您可以将只有一个字段的对象传递给 .update 方法,如以下代码片段所示。

router.put("/update/:id", (req, res) => {
    const id = req.params.id;
    Account.update(
        {
          activated: req.body.activated
        }, {
            where: { id: id },
        })
        .then((num) => {
            if (num == 1) {
                res.send({
                    message: "Informatiile au fost actualizate cu succes.",
                });
            } else {
                res.send({
                    message: `Nu pot actualiza informatiile pentru contul cu id=${id}.`,
                });
            }
        })
        .catch((err) => {
            res.status(500).send({
                message: "Eroare actualizare date pentru id=" + id,
            });
        });
});