使用节点将JSON对象放入mysql的最快方法

前端之家收集整理的这篇文章主要介绍了使用节点将JSON对象放入mysql的最快方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用先前的例子?我怎样才能使用插入/更新 mysql
没有手动命名表列标题JSON对象?并确保它是异步的.
var MysqL = require('node-MysqL');
var conn = MysqL.createConnection({
    ...
});


var values = [
    {name:'demian',email: 'demian@gmail.com',ID: 1},{name:'john',email: 'john@gmail.com',ID: 2},{name:'mark',email: 'mark@gmail.com',ID: 3},{name:'pete ',email: 'pete@gmail.com',ID: 4}
];

// var sql = "INSERT INTO Test (name,email,n) VALUES ?";


   conn.query(sql,[values],function(err) {
        if (err) throw err;
        conn.end();
    })

解决方法

你可以这样做:
for(var i = 0; i < values.length; i++){
    var post  = values[i]
    var query = connection.query('INSERT INTO posts SET ?',post,function(err,result) {
         // Finish
    });
}

编辑

这是您一次插入多个“帖子”的方式.

INSERT INTO posts (type,details)
  VALUES
  ('Helen',24),('Katrina',21),

您必须遍历第一个值才能获得这样的名称.

var names = [];
for(name in values[0]){
names.push(name);
// That would give you name,id
}

然后你必须创建自己的字符串来插入.

var newvalues = [];
for(var i = 0; i < values.length; i++){
    newvalues.push('(' + values[i].join(',') + ')');
}

后执行查询

connection.query('INSERT INTO posts (' + names.join(',') + ') VALUES ' + newvalues.join(','),rows,fields) {
  // Result
});

你必须自己测试代码,这就是你要做的.

猜你在找的JavaScript相关文章