如果MySQL中的值未定义,我想停止在数据库中保存数据。为此,我做了以下几件事。
const query = `insert into prod (description, rate) values ("${req.body.des}", "${(req.body.cur_rate == 'undefined' ? ' ' : req.body.cur_rate)}");`
我在上面尝试过,如果数据库中的rate
是undefined
,它应该节省空间。但上述尝试并不成功。我该如何解决这个问题?
您将其与字符串'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 || ' ')}");`