检查MySQL行是否存在 - Node.JS

时间:2017-12-29 18:09:57

标签: javascript node.js discord.js

Previous post I will refer to later

我正在制作一个使用MySQL的Discord机器人,但这无关紧要,我正在尝试建立一个黑名单数据库,因此其中的用户无法使用我的机器人

这是我到目前为止所得到的:

con.query("SELECT EXISTS( SELECT 1 FROM `blacklist` WHERE `id` = '"+message.author.id+"')", function(error, result, field) {
    if(error) throw error;
});

这种方法有效,这是我的输出

[ RowDataPacket {
'EXISTS( SELECT 1 FROM `blacklist` WHERE `id` = \'227090776172134400\')': 1 } ]

最后一个数字的作用类似于布尔值,如果行存在则为1,如果不存在,则为0 但我的问题是,我似乎无法弄清楚如何检查它是否为零,因为它是一个对象

1 个答案:

答案 0 :(得分:0)

为什么不能使查询字符串成为您稍后可以查询的变量。例如:

let conStr = "SELECT EXISTS( SELECT 1 FROM `blacklist` WHERE `id` = '"+message.author.id+"')";
con.query(conStr, function(error, result, field) {
    if(error) throw error;
    console.log(result[conStr]); //--> 1
});