nodejs参数怎么拼接sql语句

问号的地方怎么分别拼接上两个参数

const getList = (author, keyword) => {
    let sql = `select * from blogs where author= ? and keyword = ? `
}
阅读 7.2k
4 个回答

像 mysql 这个库, 可以

connection.query('SELECT * FROM users WHERE id = ?', [userId], function (error, results, fields) {
  if (error) throw error;
  // ...
});

来实现转义和占位符的需求.
其他的库也都差不多吧.

使用模版语法不行吗?

let sql = `select * from blogs where author= ${author} and keyword = ${keyword} `

用sequelize吧,这种拼接sql的,开发效率太慢又不安全

sequelize 是 ORM,可能需要根据项目来整合;做 SQL 拼接的话有专门干这个事儿的,直接去 GayHub 上搜 “sql generation”,语言勾一下 JavaScript,然后 Most Star 排序的前几个应该就能满足你的需求。自己写的话不是特别推荐,除非你能保证做齐全套检查。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题