Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Node-mysql: How to select with multiple OR in WHERE clause? How to create a query?

Tags:

node-mysql

I receive such an array:

[1,2,3,4,5];

And I need to implement a query that has many ORs in WHERE clause. I take values from my array. It looks like this:

SELECT foo, bar FROM tbl WHERE (a.bar = 1 OR a.bar = 2 OR a.bar = 3 ... and so on)

How may I create such a WHERE part in node-mysql? Or how to pass it parameters?

like image 295
Green Avatar asked Dec 11 '25 21:12

Green


1 Answers

I know this is fairly old, but I've had success, at least with recent versions of node-mysql using this format:

var titles = ['title 1', 'title 2'];
var sql = 'SELECT t.id ' +
          '  FROM topics t ' +
          ' WHERE t.title IN (?)';
var params = [titles];

This translates pretty nicely to:

SELECT t.id FROM topics t WHERE t.title IN (\'title 1\', \'title 2\')

Much cleaner, I think.

like image 126
Rob Wilkerson Avatar answered Dec 14 '25 19:12

Rob Wilkerson