这次给大家带来Node.js往MySQL大量注入数据,Node.js往MySQL大量注入数据的注意事项有哪些,下面就是实战案例,一起来看一下。
1.数据库连接var mysql = require('mysql');
// 数据库信息
var connection = mysql.createConnection({
host : 'localhost',
user : '数据库用户名',
password : '数据库登录密码',
database : '操作数据库名'
});
将插入数据转换成嵌套数组
例如要插入的两条数据:
记录1:from:"index"
to:“www.alibaba.com”
status:1
is_new:0
记录2:from:"index1"
to:"www.google.com"
status:1
is_new:0
转为一下格式:var values = [
["index","www.alibaba.com",1,0],
["index1","www.google.com",1,0]
];
编写插入语句var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";
调用query函数完成数据的插入connection.query(sql, [values], function (err, rows, fields) {
if(err){
console.log('INSERT ERROR - ', err.message);
return;
}
console.log("INSERT SUCCESS");
});
完整代码:var mysql = require('mysql');
// 数据库信息
var connection = mysql.createConnection({
host : 'localhost',
user : '数据库用户名',
password : '数据库登录密码',
database : '操作数据库名'
});
var values = [
["index","www.alibaba.com",1,0],
["index1","www.google.com",1,0]
];
var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";
connection.query(sql, [values], function (err, rows, fields) {
if(err){
console.log('INSERT ERROR - ', err.message);
return;
}
console.log("INSERT SUCCESS");
});
同时在这里记录一个基于事务的操作(还没有实践,具体效果不详)
用事务循环插入、如果有一条插入失败进行回滚
mysql模块、connection.beginTransaction是做事务
然后我这里封装了一个函数、对传入的数组做循环插入或更新之类的操作、如果有一条失败了就回滚、全对了就commit
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读: