프로그래밍/의문
node.js에서 sqlite3 사용 시 errno 25 SQLITE RANGE bind or column index out of range
제페
2017. 9. 13. 10:12
반응형
다음 아래와 같은 상황때 errno 25. SQLITE_RANGE 익셉션이 발생했다 메세지는 bind or column index out of range
const sql = `
SELECT A.ID AS MessageID, B.ID AS GroupID, B.Name AS GroupName
FROM MessageSubscribingGroups A
JOIN Groups B
ON A.GroupID=B.ID
WHERE A.MessageID=(SELECT ID FROM Messages WHERE Name='$name');`;
let params = {
$name:name
}
const sql = `
SELECT A.ID AS MessageID, B.ID AS GroupID, B.Name AS GroupName
FROM MessageSubscribingGroups A
JOIN Groups B
ON A.GroupID=B.ID
WHERE A.MessageID=(SELECT ID FROM Messages WHERE Name='alert');`;
let params = {
$name:name
}
오류 해결
해당 오류 수정을 위해 문자열도 따옴표를 제거하고 $name만 사용하게 하자 오류는 해결되었다.
const sql = `
SELECT A.ID AS MessageID, B.ID AS GroupID, B.Name AS GroupName
FROM MessageSubscribingGroups A
JOIN Groups B
ON A.GroupID=B.ID
WHERE A.MessageID=(SELECT ID FROM Messages WHERE Name=$name);`;
let params = {
$name:name
}
var groups = [];
this.db.each(sql, params, (err, row)=>{
}, function(err, count){ // complete
});
결론
문자열에 '', ""를 붙이지 말자.
반응형