discord.js SQL命令问题

时间:2020-05-08 21:50:38

标签: mysql node.js discord.js

我正在尝试为不和谐的bot做一个rep命令,但是我遇到了问题,这是我使用的代码

    con.query(`SELECT * FROM rep WHERE UserID = '${member.id}'`, (err, rows) => {
        if (err) {
            throw err;
        }

        if (!rows[0]) {
            $sql = sql = `INSERT INTO rep(UserID, rep) VALUES(${ member.id }, 0)`;
            connection.query(sql)
        } else {

        }

问题是它没有将某人添加到表中,基本上,如果未将键入命令的人和提到的人添加到表中,则将其添加到表中 在这一点上,我一直在搞乱,有人可以引导我学习制作rep命令的教程吗?

2 个答案:

答案 0 :(得分:0)

我看到了一个问题,即某些数据库系统在可能的情况下正在将字符串自动转换为int。但是Node.JS不能容纳int 64(并且id大于int 32)。因此,在存储时,请尝试在ID之前放置id:之类的内容。

答案 1 :(得分:0)

我看到您的代码中的一些问题通常是错误的,但我不知道您的情况,因为我不知道您如何声明成员变量或其ID,请尝试一下并告诉我发生了什么,也许多一点的代码会有所帮助或出现控制台错误。谢谢。

con.query(`SELECT * FROM rep WHERE UserID = '${member.user.id}'`, (err, rows) => {
if (err) {
  throw err;
}
if (rows.length < 1) {
   $sql = `INSERT INTO rep(UserID, rep) VALUES ('${member.user.id}', '1')`; // Because he got the $rep @mention command in the first place, he got 1 rep, not 0, I guess.
   connection.query(sql)
} else {

}