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 :)
如果您了解 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 :)