首页 > 解决方案 > 为什么更新查询在此函数中不起作用?

问题描述

我想在我的代码中切换公司的激活状态。所以首先我使用activation_status,切换它,然后触发更新查询。但它表明 con.query1() 不是一个函数。

我检查了所有可能的错误仍然无法找到它。

我在许多网站上搜索,但它说它会拼写错误。

var val;
app.post("/edit/company", (req, res) => {
  let comid = req.body.comid;
  let sql = "SELECT is_active from tblcompany where cid='" + comid + "'";
  let query = con.query(sql, (err, result) => {
    if (err) throw err;
    val = result[0].is_active;

    if (val == "1") val = 0;
    else val = 1;

    console.log("Value of Activation Status: " + val);
  });
  console.log("Value of activation status:" + val);
  console.log("Value of Company" + comid);

  let sql1 =
    "UPDATE tblcompany SET is_active=" + val + " where cid=" + comid + "";
  let query1 = con.query1(sql1, (err, result) => {
    if (err) throw err;
    console.log(result);
    // res.send(JSON.stringify(result));
  });
});

标签: mysqlsqlnode.jsexpress

解决方案


您可以避免仅使用 SQL 进行一些检查

  UPDATE tblcompany SET is_active =  case when is_active  = 1 then 0 else 1 end 
  WHERE ......

你应该使用 con.query() ..not query1


推荐阅读