Javascript 使用查询检查数据库中是否已存在行>;NodeJS

Javascript 使用查询检查数据库中是否已存在行>;NodeJS,javascript,node.js,database,Javascript,Node.js,Database,我有这个问题已经有一段时间了,但我似乎无法解决它,我四处查看了Stackoverflow,但只能找到与我的问题相匹配的PHP或C代码。我试图检查一行是否存在,如果它不存在,则发送一条它不存在的消息,如果它确实发送一条它确实存在的消息 这是我的密码 query('SELECT * FROM `cases` WHERE `case`='+pool.escape(String(getCase)), function(err, row) { if(err) { logger.e

我有这个问题已经有一段时间了,但我似乎无法解决它,我四处查看了Stackoverflow,但只能找到与我的问题相匹配的PHP或C代码。我试图检查一行是否存在,如果它不存在,则发送一条它不存在的消息,如果它确实发送一条它确实存在的消息

这是我的密码

query('SELECT * FROM `cases` WHERE `case`='+pool.escape(String(getCase)), function(err, row) {

    if(err) {
        logger.error('Error in DB');
        logger.debug(err);
        return;
    }else{

        console.log('Case row was found!');

    }

});

另外,getCase是一个我可以更改的变量,但是即使它不在数据库中,它似乎也会返回
Case行

正在返回
找到案例行因为您仅在发生错误时通知回调停止。您需要扩展
else
语句,以检查
行中是否存在任何数据,如下所示:

query('SELECT * FROM `cases` WHERE `case`='+pool.escape(String(getCase)), function(err, row) {

    if(err) {
        logger.error('Error in DB');
        logger.debug(err);
        return;
    } else {
        if (row && row.length ) {
            console.log('Case row was found!');
            // do something with your row variable
        } else {
            console.log('No case row was found :( !');
        }
    }
});

被接受的答案不知何故对我不起作用。我找到了另一个解决办法

文章节选:

您有一个表地址,希望检查是否已经存在一个地址为\u id=100的行。 您可以使用COUNT来检查:

但是,如果您正在寻找答案为“是/否”的更快查询:

我想补充一点,我们也可以使用
限制

SELECT * FROM address WHERE address_id = 100 LIMIT 1; 

您使用的是什么数据库引擎?对于
query()
函数,您使用的是什么库/模块?@sadmove抱歉没有指定,我在尝试时使用了
mysql
!谢谢你的快速回复!
SELECT EXISTS(SELECT 1 FROM address WHERE address_id = 100);
SELECT * FROM address WHERE address_id = 100 LIMIT 1;