私はそのような配列を受け取ります:
[1,2,3,4,5];
OR
そして、多くの s inWHERE
句を持つクエリを実装する必要があります。配列から値を取得します。次のようになります。
SELECT foo, bar FROM tbl WHERE (a.bar = 1 OR a.bar = 2 OR a.bar = 3 ... and so on)
WHERE
node-mysql でそのような部分を作成するにはどうすればよいですか? または、パラメータを渡す方法は?
私はそのような配列を受け取ります:
[1,2,3,4,5];
OR
そして、多くの s inWHERE
句を持つクエリを実装する必要があります。配列から値を取得します。次のようになります。
SELECT foo, bar FROM tbl WHERE (a.bar = 1 OR a.bar = 2 OR a.bar = 3 ... and so on)
WHERE
node-mysql でそのような部分を作成するにはどうすればよいですか? または、パラメータを渡す方法は?
私はこれがかなり古いことを知っていますが、少なくともこの形式を使用する node-mysql の最近のバージョンでは成功しました:
var titles = ['title 1', 'title 2'];
var sql = 'SELECT t.id ' +
' FROM topics t ' +
' WHERE t.title IN (?)';
var params = [titles];
これは次のようにかなりうまく変換されます。
SELECT t.id FROM topics t WHERE t.title IN (\'title 1\', \'title 2\')
もっときれいだと思います。
簡単なことはjoin()
、配列のを使用することです
var values = [1, 2, 3, 4, 5];
var query = 'SELECT foo, bar FROM tbl WHERE (a.bar = ';
query = query + values.join(' OR a.bar = ') + ')';
それはあなたが探しているクエリを生成します