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

标签 mysql sql node.js

我有一个这样的对象

{ 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}`;

最佳答案

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
  // ...
}

关于mysql - 当行值不等于特定值时更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50984442/

相关文章:

sql - Sequelize.js - 在 'findAll' 之后删除实例数组

sql - Postgresql 分区和 FK

node.js - 模拟 Postgresql now() 函数进行测试

node.js - 在 React 中,如何显示 API get 请求的结果?

node.js - 在我的 Node js 中获取 Windows 用户 ID,以便我可以针对 LDAP 进行身份验证

php - 显示日期和时间限制的结果

php - 在 eloquent 中创建不适用于 php

mysql - 查找每个用户在 MySQL 表中的最新位置

php重定向到另一个页面

sql - ORACLE SQL 查询关于连接到一个连接