NodeJS和MariaDB,查询内的占位符

时间:2018-11-14 17:22:37

标签: sql node.js mariadb placeholder

我对Mariadb很陌生。 我想用占位符执行插入值和列的语句。我试过了吗?和??对于列,但仍然出现错误,则该sql语法错误:

let query = "INSERT INTO Users(??, ??, ??, ??, ??) VALUES(?,?,?,?,?);"
let data = [ 'email','forename', 'location','longitude','latitude', 
         ,'test','test','test',1,1 ]
conn.query(query, data)

这是怎么了?

谢谢

1 个答案:

答案 0 :(得分:0)

与mysql连接器相比,唯一不受支持的是"Escaping query identifiers"

原因是:

  • 首先,我没有看到用例。有没有!?
  • 我希望使用仅?作为占位符的标准MariaDB SQL语法。

仅使用?作为占位符的原因是,当连接器将使用二进制协议(尚未实现)时,连接器将不必解析SQL命令,然后执行得更好。

但是您可以将命令重写为:

let query = "INSERT INTO Users(`email`,`forename, `location`,`longitude`,`latitude`) VALUES(?,?,?,?,?);"
let data = ['test','test','test',1,1]
conn.query(query, data)

如果您看到一些用例。随时在github

上创建问题