2016-10-12 32 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

ブリリアント!それが私が試した最初のものの1つでしたが、私は明らかに構文を混乱させました。私が答えを求めてグーグルをしていたとき、私は間違ってそれにいくつかの複雑なトリックがあるという印象を得ました。助けてくれてありがとう! – 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

関連する問題