如果MySQL中的值未定义,如何停止在数据库中保存数据



如果MySQL中的值未定义,我想停止在数据库中保存数据。为此,我做了以下几件事。

const query = `insert into prod (description, rate) values ("${req.body.des}", "${(req.body.cur_rate == 'undefined' ? ' ' : req.body.cur_rate)}");`

我在上面尝试过,如果数据库中的rateundefined,它应该节省空间。但上述尝试并不成功。我该如何解决这个问题?

您将其与字符串'undefined'进行比较,而不是undefined。幸运的是,undefined是";falsy";所以你实际上并不需要比较。这个表达式应该同样有效:

req.body.cur_rate ? req.body.cur_rate : ' '

因此:

const query = `insert into prod (description, rate) values ("${req.body.des}", "${(req.body.cur_rate ? req.body.cur_rate : ' ')}");`

或者更简单的是,您可以将逻辑||短路,并允许表达式返回第一个"0";truthy;值:

req.body.cur_rate || ' '

因此:

const query = `insert into prod (description, rate) values ("${req.body.des}", "${(req.body.cur_rate || ' ')}");`

最新更新