SQL数据库未更新| JavaScript |不和谐机器人

时间:2018-12-24 00:55:44

标签: javascript sql node.js discord discord.js

我正在使用JavaScript,node.js和discord.js制作Discord机器人,并且正在使用SQL来实现经济系统和商店系统。经济系统运行良好,但是我在商店系统的早期阶段遇到了一些麻烦。没有弹出任何实际的错误,但是当我使用buy命令时,它会发送一条消息,表明我购买了buy命令后所说的内容之一。但是,它实际上并没有更新数据库,并且当我使用另一个命令检查库存中有什么时,它说应该在其中显示新项目的地方没有任何价值。我已经检查了大小写等。如果有人知道为什么会这样,我将不胜感激。谢谢! (另外,我正在使用sqlite。)

我的buy命令的代码:

client.on("message", message => {
    const buy = (item) => {
        if (message.content.length > 5) {
            if (sql.get(`SELECT "${item}" FROM "${message.guild.id}" WHERE userId = "${message.member.id}" AND "${item}" IS NOT NULL`)) {
                sql.run(`UPDATE "${message.guild.id}" SET "${item}" = "${item}" WHERE userId = "${message.member.id}"`);
                message.channel.send(`${message.author}, one ${item} was added to your inventory.`);
            }
        }
    }
    const cart = (shopper) => {
        if (message.content.startsWith(prefix + "buy " + shopper)) buy(shopper);
    }
    cart("Sullustan steak");
    cart("cape");
    cart("Roddy-Mobile");
    cart("fried Rodian");
    cart("pulse cannon");
});

1 个答案:

答案 0 :(得分:0)

我认为问题在于数据库中的项目最初设置为NULL,因此无法更改为int。如果有人因为同样的问题而在该线程上绊脚石,请尝试将NULL更改为0。