首页 > NodeJS 中数据库connection.query的语法有些不明白?

NodeJS 中数据库connection.query的语法有些不明白?

比如这样的语句:



  connection.query('INSERT INTO users SET ?',{username:'RITSU',firstname:'yan'},function(err,result){
   //})
   
   
   
   其中SET 与? 关键字什么意思?
   还有所谓的用??来作为sql标识符使用参数又是何解?

INSERT INTO ... SET ... 是 MySQL 的语法:https://dev.mysql.com/doc/refman/5.6/en/insert.html 。之所以选择这种方式是因为它和 UPDATE ... SET ... 的语法很像,而且和 node-mysql 的参数展开功能配合起来更加方便:https://github.com/felixge/node-mysql#escaping-query-values,node-mysql 会将对象展开成 k1 = v1, k2 = v2 这样的形式。


node-mysql的query有点扯。。建议你自己用占位符拼sql后,replace,不要去用它的??和?
一般来说,??代表table name和column name,?代表动态的值

【热门文章】
【热门文章】