SQL Discord 机器人开发的语法问题 (mySQL 8.0)
SQL syntax issue with Discord bot development (mySQL 8.0)
我知道这个问题之前已经在这个网站上得到了处理,但我已经尝试了我所看到的一切,并且在某个季节没有任何效果......所以它可能更具体。再次,如果我可能遗漏了什么,我深表歉意,但我是新手,对为什么这不起作用感到沮丧...
我的代码是这样的:
bot.on(`message`, async message => {
if(message.author.bot) return;
if(message.channel.type === "dm") return;
con.query(`SELECT * FROM profile WHERE id = '${message.author.id}'`, (err, rows) => {
if(err) throw err;
var sql;
if(rows.length < 1) {
var sql = (`INSERT INTO profile (id, username) VALUES (${message.author.id}, ${message.author.tag})`);
};
con.query(sql, console.log);
if (err) throw err;
console.log("1 record inserted");
});
我正在尝试将此人的 Discord ID 和用户名放入数据库中。我对这段代码有几十种不同的配置,它总是给我语法错误。我注意到 mySQL 8.0 与我看过的其他教程相比有非常不同的语法要求。我参考了 mySQL 网站来尝试找出我的问题。我已经在这个问题上花了 2 天时间,但我已无能为力,所以我正在寻求帮助!
提前感谢您的宝贵时间! :)
快速浏览一下,您的第二个查询中的引号丢失了。假设两个字段都是字符串类型,它应该看起来像这样:
sql = (`INSERT INTO profile (id, username) VALUES ('${message.author.id}', '${message.author.tag})'`);
(如果id
或username
不是字符串,而是数字类型,你可能会删除相应的'
。)
我知道这个问题之前已经在这个网站上得到了处理,但我已经尝试了我所看到的一切,并且在某个季节没有任何效果......所以它可能更具体。再次,如果我可能遗漏了什么,我深表歉意,但我是新手,对为什么这不起作用感到沮丧...
我的代码是这样的:
bot.on(`message`, async message => {
if(message.author.bot) return;
if(message.channel.type === "dm") return;
con.query(`SELECT * FROM profile WHERE id = '${message.author.id}'`, (err, rows) => {
if(err) throw err;
var sql;
if(rows.length < 1) {
var sql = (`INSERT INTO profile (id, username) VALUES (${message.author.id}, ${message.author.tag})`);
};
con.query(sql, console.log);
if (err) throw err;
console.log("1 record inserted");
});
我正在尝试将此人的 Discord ID 和用户名放入数据库中。我对这段代码有几十种不同的配置,它总是给我语法错误。我注意到 mySQL 8.0 与我看过的其他教程相比有非常不同的语法要求。我参考了 mySQL 网站来尝试找出我的问题。我已经在这个问题上花了 2 天时间,但我已无能为力,所以我正在寻求帮助!
提前感谢您的宝贵时间! :)
快速浏览一下,您的第二个查询中的引号丢失了。假设两个字段都是字符串类型,它应该看起来像这样:
sql = (`INSERT INTO profile (id, username) VALUES ('${message.author.id}', '${message.author.tag})'`);
(如果id
或username
不是字符串,而是数字类型,你可能会删除相应的'
。)