【问题标题】:How can I substitute the values into an sql expression in NodeJS?如何将值替换为 NodeJS 中的 sql 表达式?
【发布时间】:2016-03-02 05:55:29
【问题描述】:

在 NodeJs 中做这类事情的实际方式是什么:

con.query("""
          update something 
          set aaa = ???,
          bbb = ???,
          where ccc = ??? and ddd = ???
        """, function (err, result) {

我的意思是,我怎样才能正确轻松地将这些值替换到 sql 请求中?

【问题讨论】:

  • 更好的方法是使用占位符名称aaa = :aaa,然后将值作为对象传递。看起来你正在使用节点 mysql 模块检查这里github.com/felixge/node-mysql#custom-format
  • @AbhikChakraborty,我必须实现“connection.config.queryFormat”吗?还是aaa = :aaa 默认可用?
  • 好吧,你不需要queryFormat,你可以像con.query('update something set aaa = ? , bbb = ? where ccc = ? and ddd = ?',[array with values in sequence], function (err,result) { //your code here}) ;一样做一些事情

标签: javascript mysql sql node.js


【解决方案1】:

您可以按照以下方式申请代码:

var sql = phpjs.strtr("SELECT * FROM :table WHERE id = :id",
    {
        ":table"        : my_table,
        ":id"           : my_id
    }
);
myClient.query(sql, callback); 

例子:

var sql = phpjs.strtr("UPDATE something SET aaa = :a, bbb = :b WHERE ccc = :c AND ddd = :d",
    {
        ":a"        : my_a,
        ":b"        : my_b,
        ":c"        : my_c,
        ":d"        : my_d
    }
);
con.query(sql, function (err, result){
    //stmt
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    相关资源
    最近更新 更多