"where in" MySQL 在nodejs中查询
"where in" MySQL query in nodejs
我需要使用 "WHERE IN" 进行 MySQL 查询。
这是我的查询:
var myQuery = 'SELECT uid FROM ' +tableName+ ' where Gender IN (' + Info.Gender.join() + ')';
如果我打印 Info.Gender
它将作为字符串 ['Male', 'Female']。
但是当查询完成时它说
SELECT uid FROM appUsers where Gender IN (Male, Female)
但应该是:
SELECT uid FROM appUsers where Gender IN ('Male', 'Female')
这意味着它不将 Female 作为字符串。
有什么想法吗?
您的查询需要单引号:
var myQuery = "SELECT uid FROM " +tableName+ " where Gender IN ('" + Info.Gender.join("','") + "')";
你应该使用query escaping(前提是你使用的是node-mysql
):
var myQuery = 'SELECT uid FROM ?? where Gender IN (?)';
connection.query(myQuery, [ tableName, Info.Gender ], ...);
我需要使用 "WHERE IN" 进行 MySQL 查询。 这是我的查询:
var myQuery = 'SELECT uid FROM ' +tableName+ ' where Gender IN (' + Info.Gender.join() + ')';
如果我打印 Info.Gender
它将作为字符串 ['Male', 'Female']。
但是当查询完成时它说
SELECT uid FROM appUsers where Gender IN (Male, Female)
但应该是:
SELECT uid FROM appUsers where Gender IN ('Male', 'Female')
这意味着它不将 Female 作为字符串。
有什么想法吗?
您的查询需要单引号:
var myQuery = "SELECT uid FROM " +tableName+ " where Gender IN ('" + Info.Gender.join("','") + "')";
你应该使用query escaping(前提是你使用的是node-mysql
):
var myQuery = 'SELECT uid FROM ?? where Gender IN (?)';
connection.query(myQuery, [ tableName, Info.Gender ], ...);