【问题标题】:not equal to not working in postgresql query不等于不在 postgresql 查询中工作
【发布时间】:2018-01-08 13:59:00
【问题描述】:
if (req.body.positionDetails && req.body.positionDetails.length > 0) {
 let total = req.body.positionDetails.length;
  for (let i = 0; i < total; i++) {
  db.query('SELECT * FROM position WHERE position <> $1',[req.body.positionDetails[i].position],function(err,p) {
    console.log(p.rows)
  });
 }
}

它从数据库中选择所有值而不检查条件。这个怎么解决?? 数据就像 "positionDetails":[{"position":"manager"},{"position":"developer"}] 来自邮递员。

【问题讨论】:

  • 您能否向我们展示一些数据和/或您打算运行的原始查询是什么样的?
  • 我的问题已编辑,请检查。

标签: node.js postgresql postman


【解决方案1】:

你准备好的陈述看着我。尝试使用? 作为查询中位置的占位符。

db.query(
    'SELECT * FROM position WHERE position <> ?', [req.body.positionDetails[i].position],
    function(err, p) {
        console.log(p.rows)
});

如果这样可以解决问题,那么我建议您将 position 与文字字符串 $1 进行比较,每次比较都失败,导致结果集中出现每条记录。

【讨论】:

  • 这听起来可能与i 中的循环有关。也许您也应该发布该代码。
  • 我不知道为什么它仍然失败,但我认为你甚至可以完全摆脱循环。
猜你喜欢
  • 1970-01-01
  • 2014-02-07
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-04
相关资源
最近更新 更多