這次帶給大家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中文網其它相關文章!
推薦閱讀:
以上是Node.js往MySQL大量注入數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!