mysql - Discord.js XP系统
问题描述
我想用 mysqli为我的机器人Hello Bot制作一个 xp 系统,但我的代码确实有效。不是的错误是现在我第一次写,存到数据库里,但是别人在数据库里会有两次
我的代码:
con.query(`SELECT * FROM xp WHERE id = '${message.author.id}'`, (err, rows) => {
if (err) throw err;
let sql;
if (rows.length < 1) {
sql = `INSERT INTO xp (id, xp) VALUES ('${message.author.id}', 30)`;
}
else {
let xp = rows[0].xp;
sql = 'UPDATE xp SET xp = ' + xp + 30;
}
con.query(sql);
});
解决方案
抱歉回复晚了,我刚看到这篇文章,我之前遇到过这个错误你应该做的是:运行ALTER [TABLE_NAME] MODIFY [COLUMN_NAME] BIGINT NOT NULL PRIMARY KEY;
=>为什么必须这样做是因为当你试图存储作者的 id 时,它试图但不和谐member id 的位数多于 INT 类型的范围,因此如果您执行 BIGINT,则可以将 id 存储在其中,然后您可以继续执行该程序
推荐阅读
- javascript - 删除按钮 - onDelete 函数
- javascript - 在NodeJS中从最高到最低对数组数字字符串进行排序
- r - 创建一个新的数据框,显示每列的总和
- python - 有没有办法通过连接多个字符串进行分组?
- python - 如何将 df 列表导出到单独的 csv 文件
- spring-boot - 测试假客户端时连接被拒绝
- c - 在 C 程序中实现 Kleene 星号运算符 *(某种)
- javascript - 为什么我的 POST 请求会导致完全重新渲染?
- javascript - 当有人进入任何频道时,我正在尝试制作一个播放音乐的机器人
- java - Type 数组中正确的 Java 格式是什么?