不协调bot开发的sql语法问题(mysql 8.0)

sczxawaw  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(410)

我知道这个问题已经在这个网站上处理过了,但我已经尝试了我所看到的一切,有一个赛季没有任何工作。。。所以它可能是更具体的东西。再次,我道歉,如果我可能错过了一些东西,但我是新的和沮丧的,为什么这是不工作。。。
我的代码是:

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");
  });

我正在尝试将此人的不一致id和用户名放入数据库中。我有几十种不同的代码配置,它不断给我语法错误。我注意到mysql 8.0的语法要求与我看过的其他教程非常不同。我已经参考了mysql网站,试图找出我的问题。我在这个问题上已经花了两天的时间,我已经穷途末路了,所以我请求帮助!
提前感谢您的时间!:)

pkwftd7m

pkwftd7m1#

快速浏览一下,第二个查询中的引号丢失了。假设这两个字段都是字符串类型,则应该如下所示:

sql = (`INSERT INTO profile (id, username) VALUES ('${message.author.id}', '${message.author.tag})'`);

(如果 id 或者 username 不是字符串,而是数字类型,您可以删除相应的 ' .)

相关问题