2016-10-12 2 views
0

SQL을 처음 사용하고 노드 응용 프로그램에 SQL 쿼리를 작성하는 데 어려움이 있습니다. WHERE 문에서 변수를 사용하고 싶습니다만, 더 많은 변수가있는 것처럼 보입니다. 이것은 제가 시도한 것입니다 ...Node.js의 SQLITE Where 절에 변수 사용

var itemID = 3; 

var stmt = db.prepare("UPDATE tableName SET status = 'Out' WHERE id = itemID"); 
stmt.run(); 
stmt.finalize(); 

모든 의견을 환영합니다. 감사합니다, 알렉스

답변

-1

당신은 문자열에서 변수를 이동하고 ES6와

var stmt = db.prepare("UPDATE tableName SET status = 'Out' WHERE id = " + itemID); 

당신은 문자열 대체를 사용할 수 있습니다 연결할합니다. 하여 문자열 주변에 역 인용 부호 대신 큰 따옴표

var stmt = db.prepare(`UPDATE tableName SET status = 'Out' WHERE id = ${itemID}`); 
+0

브릴리언트! 그것은 제가 시도한 첫 번째 시도 중 하나 였지만 구문을 분명히 엉망으로 만들었습니다. 내가 대답을 찾고있을 때 나는 그것에 복잡한 트릭이 있다는 인상을 잘못 받았다. 도와 주셔서 감사합니다! – wingshauser

2

또한 다음과 같이 할 수있는,

// 직접 함수 인수에 유의하십시오.

var stmt = db.prepare("tableName SET status = ? WHERE id = ?", "out", $itemID); 

// 배열로.

var stmt = db.prepare("tableName SET status = ? WHERE id = ?", [ "out", $itemID ]); 

// 명명 된 매개 변수가있는 개체입니다.

var stmt = db.prepare("UPDATE tableName SET status = $name WHERE id =$id", { $id: $itemID, $name: "out"}); 
+0

감사합니다. 이것은 내가 찾고 있었던 바로 그 것이다. – wingshauser