我目前正在开发一个Node.js项目,我在mysql查询中遇到了通配符问题。这是代码:
exports.getList = function (shop, callback) {
var sql = "SELECT * FROM chain.shop WHERE shopName = ? AND shopPlace = ?;";
if (shop.shopName == null)
shop.shopName = "*";
if (shop.shopPlace == null)
shop.shopPlace = "*";
conn.query(sql, [shop.shopName, shop.shopPlace], function (err, result) {
if (err) throw err;
callback(result);
console.log(this.sql); // shows exectued query
});
}
假设shopPlace为null,执行的查询将类似于
"SELECT * FROM chain.shop WHERE shopName = 'myShop' AND shopPlace = '*';"
由于找不到名为'*'
的shopPlace,因此无法提供结果。我想知道如何在这个例子中使用*作为通配符,而不是带有单引号的字符串。
提前致谢!