Javascript 使用查询检查数据库中是否已存在行>;NodeJS
我有这个问题已经有一段时间了,但我似乎无法解决它,我四处查看了Stackoverflow,但只能找到与我的问题相匹配的PHP或C代码。我试图检查一行是否存在,如果它不存在,则发送一条它不存在的消息,如果它确实发送一条它确实存在的消息 这是我的密码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
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;