메시지를 작성한 사람과 동일한 사용자 이름을 가진 사람이있는 데이터베이스에서 ROWID를 가져 오려고합니다. 이 코드는 내가 바꿀 때 작동한다나는 SQLITE_Error를 얻고 있습니다 : 그런 열은 없지만 그 이유는 무엇입니까?
WHERE creator` =${member.username} to WHERE matchid =` ${matchid}.
그 경기에서 rowid를 얻는다. 그러나 나는 사용자가 창조자 인 곳에서 ROWID를 얻고 싶다. (나는 나의 db를 확인했고, 생성자 칼럼에는 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.");
}
});
가능한 복제 [SQLite는 삽입 문제 - 오류 : 그런 칼럼] (https://stackoverflow.com/questions/21958789/sqlite-insert-issue-error-no-such-column) – Veve