javascript - SQL 数据库未更新 | JavaScript | 不和谐机器人
问题描述
更新:我认为问题在于我的数据库中的项目最初设置为 NULL,因此无法更改为 int。如果有人因为有同样的问题而绊倒了这个线程,请尝试将 NULL 更改为 0。
我正在使用 JavaScript、node.js 和 discord.js 制作一个 Discord 机器人,并且我正在使用 SQL 来实现经济系统和商店系统。经济系统运行良好,但我在商店系统的早期阶段遇到了一些麻烦。没有弹出任何实际错误,但是当我使用该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");
});
解决方案
我认为问题在于我的数据库中的项目最初设置为 NULL,因此无法更改为 int。如果有人因为有同样的问题而绊倒了这个线程,请尝试将 NULL 更改为 0。
推荐阅读
- powershell - 通过 Graph、Sites.Selected 和 Managed Identity 连接到 SharePoint
- tensorflow - Tensorflow 联合的随机种子?
- javascript - 正则表达式中的前瞻
- flutter - 为什么在循环中调用异步函数不能正常工作?
- javascript - 如何使用动态键安全地浏览嵌套地图
- php - 试图从 laravel8 上的数据库中获取特定记录
- maven - 如何使用以太 api 以编程方式获取部署在 S3 中的工件的所有版本
- nuget - TeamCity NuGet 提要列表包,但仍然找不到
- qt - 将 Qt 交叉编译到 Raspberry Pi './config' 并运行 'make -j8' 问题
- tinylog - tinylog2 - 在运行期间重新配置