node.js通配符字符串进入mysql查询

时间:2017-07-31 08:53:58

标签: mysql node.js wildcard

我目前正在开发一个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,因此无法提供结果。我想知道如何在这个例子中使用*作为通配符,而不是带有单引号的字符串。

提前致谢!

0 个答案:

没有答案