nodejs mysql pool 只能插入10条记录或者较少记录
2014-05-08 12:34
751 查看
BEGIN;
解决方案:从连接池获取到的Connection,执行完操作后,必须及时关闭!
即:connection.end();
使用后发现console有打印出警告信息,大致意思为 end() 方法已过期,所以应该使用 connection.release() 方法!
测试环境:
1、首先nodejs环境下,安装 node-mysql,注意是“felixge/node-mysql”,不是“node-mysql”
2、我自己创建了一个简单的util,操作数据,代码如下
但是需要注意的是,每次执行sql都是从连接池获取一个Connection!
下面使用测试代码,进行简单的测试:
执行完后,查看数据库记录,发现只有10条记录。
最终排查各种原因后,结果是因为每次获取Connection后,没有关闭!
只需要在
的后面添加
一行代码即可。
重新测试,查询数据库,共计新增15条记录。
END;
--- --- --- ---> 点击查看更多最新原创博文<--- --- --- ---
解决方案:从连接池获取到的Connection,执行完操作后,必须及时关闭!
即:connection.end();
使用后发现console有打印出警告信息,大致意思为 end() 方法已过期,所以应该使用 connection.release() 方法!
测试环境:
1、首先nodejs环境下,安装 node-mysql,注意是“felixge/node-mysql”,不是“node-mysql”
2、我自己创建了一个简单的util,操作数据,代码如下
/** * 数据库操作 * author: yzChen 2014-5-6 21:58:57 */ var mysql = require('mysql'); var pool = mysql.createPool({ host: '127.0.0.1', user: 'root', password: 'root', database:'nodejs', port: 3306 }); exports.execSql = function(sql, fn) { pool.getConnection(function (err, conn) { conn.query(sql, function (err1, res1) { fn(err1, res1); }); }); }3、调用时,就是util.execSql('your sql', function(err, res) { // your code })
但是需要注意的是,每次执行sql都是从连接池获取一个Connection!
下面使用测试代码,进行简单的测试:
var sql = 'insert test(name) values(UUID())'; for(var i = 0; i < 15; i++) { dbUtil.execSql(sql, function(err, res) { if (err) console.log(err); console.log("INSERT Return ==> "); console.log(res); }); }
执行完后,查看数据库记录,发现只有10条记录。
最终排查各种原因后,结果是因为每次获取Connection后,没有关闭!
只需要在
conn.query(sql, function (err1, res1) {
的后面添加
conn.release(); // 执行完成后,需要及时关闭连接
一行代码即可。
重新测试,查询数据库,共计新增15条记录。
END;
--- --- --- ---> 点击查看更多最新原创博文<--- --- --- ---
相关文章推荐
- node.js插入数据到MySQL时遇到 Incorrect string value: '' for column '' at row 1 ”
- node.js的generic-pool与mysql结合,mysql连接池
- node.js的generic-pool与mysql结合,mysql连接池
- 程序模块中只能向数据库删除或者插入一条记录
- Node.js 连接 MySQL 插入 TEXT 类型报错问题
- node.js的generic-pool与mysql结合,mysql连接池
- Nodejs mysql pool使用实例
- Nodejs mysql pool使用实例
- node.js的generic-pool与mysql结合,mysql连接池
- Sqlite:一个SQL搞定,记录存在不插入或者替换数据
- MySQL数据表中记录不存在则插入,存在则更新/不操作
- node.js+mysql实现批量存储
- (原创)node.js入门之二:mysql的使用-Mac环境开发
- MySQL 当记录不存在时插入(insert if not exists)
- MYSQL 插入记录 中文乱码
- MyBatis插入记录获取自增的ID(MySQL)
- mysql 避免记录重复插入
- NODE.JS 连接 MySql 问题之 显示找不到 mysql
- [日常记录] node.js+npm+express Windows 安装
- mysql sql 防止重复插入相同的记录实例