【问题标题】:Im getting SQLITE_Error: no such column, but it exists why?我得到 SQLITE_Error: no such column,但它存在为什么?
【发布时间】:2018-04-19 06:30:22
【问题描述】:

我试图从数据库中获取 rowid,其中有人与刚刚写消息的人具有相同的用户名。当我更改代码时,代码有效

 WHERE creator` =${member.username} to WHERE matchid =` ${matchid}.

它从那场比赛中得到了我的 rowid。但我想从用户是创建者的地方获取 rowid。 (我检查了我的数据库,在创建者列上有用户名 Boanak 的名称)。我得到的错误是:{错误:SQLITE_ERROR:没有这样的列:Boanak errno:1,代码:'SQLITE_ERROR'}。

我的代码:

var getMatchid = function(client, message, callback) {
  //let matchid = parseInt(args.join(' '));
  let member= message.member.user;
  var db = new sqlite3.Database('Matches');
  db.serialize(function() {
      db.all(`SELECT rowid
        FROM Match
        WHERE creator =`+${member.username}, function(err, allRows){
          if(err) {
              //console.log(err);
              callback(err, null);
          }
          else {
              callback(null, allRows);
          }
          db.close();
      });
  });
  }

getMatchid(client, message, function(err, data){
  if (err) {
      console.log(err);
  }
  else if (data && data.length) {
      message.channel.send(`Match ${data[0].rowid} found`);

  }
  else {
      message.channel.send("That match ID doesnt exist.");
  }
  });

【问题讨论】:

标签: node.js sqlite discord


【解决方案1】:

您需要将变量封装在一个字符串中。您还使用了模板文字,因此您可以将表达式直接放入其中。

`SELECT rowid
 FROM Match
 WHERE creator = "${member.username}"`

【讨论】:

  • 哇!这么简单的事情!非常感谢!
猜你喜欢
  • 2022-11-20
  • 1970-01-01
  • 1970-01-01
  • 2019-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多