Node.js sqlite 更新不工作

Node.js sqlite UPDATE not working

如果您了解 Discord.js 或任何其他 Discord JS 库,那么您将更好地理解我的问题。

所以我正在尝试 UPDATE 我数据库中的一条记录到分配给变量的文本字符串 WHERE ID = 分配给消息公会的 ID。

这是我的代码,

<!-- language: lang-js -->
sql.get(`SELECT * FROM guildconfig WHERE guildID = "${message.guild.id}`).then((row) => {
    if(!row) {
        sql.run("CREATE TABLE IF NOT EXISTS guildconfig (guildID INTEGER, prefix TEXT)").then(() => {
            sql.run("INSERT INTO guildconfig (guildID, prefix) VALUES (?, ?)", [message.guild.id, guildprefix]);
        });
    } else {
        sql.run(`UPDATE guildconfig SET prefix = ${guildprefix} WHERE guildID = ${message.guild.id}`);
    }
}).catch(() => {
    console.error;
});

您可能猜到了 guildconfig 是 table 的名称。

message.guild.id 是分配给发送消息的 guild/server 的常量。

guildconfig是消息中传递的参数。

在我看来,您似乎忘记了在查询中用引号括起 ID,即 guildID = "${message.guild.id}",您似乎在 SELECT 查询中这样做了(尽管可能您已经打字错误,因为您没有关闭引号)。

所以,具有讽刺意味的是,我不需要了解任何关于 Discord 的知识,只需要 SQL :)