UNPKG

tribedb

Version:

Unlimited expansion MySQL cluster storage system

75 lines (63 loc) 1.95 kB
/** * * insert * */ const mysql = require('mysql'); const pool = require('./pool.js'); /** * 插入数据 */ exports.insert = function(table, data) { return new Promise(function (resolve, reject) { pool.conn(table, {write:1}, function(err, conn){ if(err) return reject(err); conn.query("INSERT INTO `"+table+"` SET ?", data, function(err, rows){ // log(rows); conn.release(); // 必须释放回连接池! if(err) return reject(err); resolve(rows); // 返回 }); }); }); }; /** * 批量插入数据 */ exports.inserts = function(table, datas) { return new Promise(function (resolve, reject) { let data1 = datas[0]; if( ! data1 ){ return reject('tribe inserts no data !'); } // 字段 let fields = []; for(let i in data1){ fields.push( i ); } let fields_str = '(`' + fields.join('`,`') + '`)'; // 数据 let data_ary = []; for(let k in datas){ let dts = []; for(let a in fields){ dts.push( mysql.escape( datas[k][fields[a]] ) ); } data_ary.push( '('+dts.join(',')+')' ); } let data_str = data_ary.join(','); // 请求执行 // console.log("INSERT INTO `"+table+"` "+fields_str+" VALUES "+data_str); pool.conn(table, {write:1}, function(err, conn){ if(err) return reject(err); conn.query("INSERT INTO `"+table+"` "+fields_str+" VALUES "+data_str, function(err, rows){ // log(rows); conn.release(); // 必须释放回连接池! if(err) return reject(err); resolve(rows); // 返回 }); }); }); };