代码之家  ›  专栏  ›  技术社区  ›  sreepurna

当行值不等于特定值时更新表

  •  0
  • sreepurna  · 技术社区  · 7 年前

    我有个这样的东西

    { emId: '1', emEmail: 'sreepurna@xxx.com' }
    

    我在后台使用nodejs,数据库使用mysql。我只想在值不等于特定值时更新表。是否有可能在查询中写入此内容。

    我尝试了几条sql语句,但都不起作用:

    let sql = `UPDATE details SET name = CASE WHEN '${req.body.emName}' != 'hi' THEN ${req.body.emName} END where id=${req.body.emId}`;
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Felix Fong    7 年前

    没有这样的东西叫 undefined 在SQL语言中,必须通过JavaScript验证值

    if(req.body.emName){
      // This code block will run when req.body.emName contains value and is not undefined or null
      let sql = `UPDATE details SET name = CASE WHEN '${req.body.emName}' THEN ${req.body.emName} END where id=${req.body.emId}`;
    }else{
      // req.body.emName is either empty/undefined or null
      // ...
    }
    推荐文章