时间:2021-07-01 10:21:17 帮助过:85人阅读
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
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
AngularJS注册表单验证的步奏详解
clipboard.js实现复制功能步奏详解
以上就是Node.js往MySQL大量注入数据的详细内容,更多请关注Gxl网其它相关文章!