MySQL选择IN,NodeJs检测空字段

时间:2016-05-18 05:21:01

标签: mysql node.js

我对gernal的nodejs很新,我面临mysql选择的问题。 所以,假设我有一个id数组,我想从我的MySQL数据库中选择它们,如:

Con.query('SELECT * FROM Table WHERE Id IN (1,2,3,4)' , function (err,
results, fields) { results contains: 1,2,3 because 4 dont exists in DB }

所以我会收到ID为1,2,3的行的数据,但不会收到ID 4的数据,因为它不存在。我想知道我怎么能发现,ID 4不存在。

有没有办法检索我在查询函数中要求的所有ID或一个选项的种类,如果它不存在,我可以启用接收给定id的NULL:

ID 1: Data
ID 2: Data
ID 3: Data
ID 4: null - because dont exists

如果用IN语句无法解决这个问题,我可以简单地制作4个单曲 用显式ID选择(因为如果数据不存在,我将收到0)或者如果我在1分钟内有1000次选择,它会超载MySQL吗?

1 个答案:

答案 0 :(得分:0)

如果你把ID放在数组中,你必须通过循环检查它;

var ids = [1,2,3,4]
Con.query('SELECT * FROM Table WHERE Id IN (1,2,3,4)' , function (err, results, fields) { 
for(var i = 0;i<ids.length;i++){
 if(ids.indexOf(fields[i]['id'])>-1){
 console.log(" found ID = "+ids[i])
 }else{
 console.log(" ID NOT FOUND = "+ids[i])
 }
}

});