Javascript 如何使用nodejs在mariadb中进行批量插入?

Javascript 如何使用nodejs在mariadb中进行批量插入?,javascript,node.js,mariadb,mariasql,Javascript,Node.js,Mariadb,Mariasql,每当我试图运行我的代码时,这会显示列计数不匹配错误 values=[ [{id:12227722345,name:"dgssssdavgsgfv",pass:"cvhsssssadfvugod"}], [{id:12,name:"ddd",pass:"cvh"}] ]; c.query('insert into Hash.asn(userid,username,password) values (?,?,?)',[values],function(err,rows) {

每当我试图运行我的代码时,这会显示列计数不匹配错误

values=[
    [{id:12227722345,name:"dgssssdavgsgfv",pass:"cvhsssssadfvugod"}],
    [{id:12,name:"ddd",pass:"cvh"}]
   ];

c.query('insert into Hash.asn(userid,username,password) values (?,?,?)',[values],function(err,rows)
{
  if (err)
    console.log(err);

  c.query('commit');
  console.log(rows);

}); 
错误:

{ [Error: Column count doesn't match value count at row 1] code: 1136 }

据我所知,这些天来,mariaDB模块不支持node.js上的大容量插入


如果有人仍然对此感到疑惑,您可以使用connection.batch()执行批量查询

connection.beginTransaction();
connection.query("INSERT INTO BASKET(customerId) values (?)", [1], (err, res) => {
   //must handle error if any
   const basketId = res.insertId;
   try {
     connection.batch("INSERT INTO basket_item(basketId, itemId) VALUES (?, ?)",[
         [basketId, 100],
         [basketId, 101],
         [basketId, 103],
         [basketId, 104],
         [basketId, 105]
     ]);
     //must handle error if any
     connection.commit();
     } catch (err) {
     connection.rollback();
     //handle error
     }
});

我不确定,但建议尝试使用一个值可能是[]格式导致了问题。一个值有效,但我想使用多个值,因此您可以帮助我如何操作吗?如果有帮助,请使用建议。既然我也没有试过,为什么要把[]放在{}对象周围呢?任何理由。如果您删除它并尝试。那么您将如何一次发送多个值,如多个id、多个用户名。我认为类似于-var values=[{1,'a','b'},{2,'v','h'}];插入Hash.asn(userid,username,password)值(?,,?),[values]欢迎使用StackOverflow!虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。