所以过去几天我一直在尝试为我的 Discord 机器人制作货币系统和库存系统。但是,我似乎根本无法取得任何进展。我试过使用 sequelize 和 better-sqlite3 (这是我目前正在使用的),但都没有成功。
const table = sql.prepare("SELECT count(*) FROM sqlite_master WHERE type ='table' AND name = 'balance';").get();
if (table["count(*)"] === 0) {
console.log("creating table...");
sql.prepare("CREATE TABLE scores (id TEXT PRIMARY KEY, user TEXT, guild TEXT, money INTEGER);").run();
sql.prepare("CREATE UNIQUE INDEX idx_scores_id ON scores (id);").run();
sql.pragma("synchronous = 1");
sql.pragma("journal_mode = wal");
}
client.getScore = sql.prepare("SELECT * FROM balance WHERE user = ? AND guild = ?");
client.setScore = sql.prepare("INSERT OR REPLACE INTO money (id, user, guild, money) VALUES (@id, @user, @guild, @money);");
上面的代码导致这个错误:
(node:13036) UnhandledPromiseRejectionWarning: SqliteError: table scores already exists
我对这样的东西没有太多的了解,因为可供我参考的材料太少了。