Nodejs使用mysql模块之获得更新和删除影响的行数的方法
在mysql中直接进行这样的判断的方法是使用 row_count(), 这一条语句要紧跟着你执行的sql语句后面. 而Nodejs的i/o都是异步的于是这就产生了一个问题, 不太好判断 row_count()到底是哪句sql执行的结果. 粗略的扫了一眼文档, 文档中并没有描述这个问题. 本想函数嵌套来达到同步的效果的, 却无意发现在执行sql对应的异步函数中的参数中有 affectedRows字段, 经测试, 这货就是 row_count()的结果.
实例:
代码如下:
var cmd = 'UPDATE users SET ' + field + ' = ' + value + ' WHERE id = ' + userid;
console.log(cmd);
db.query(cmd, function(err, rows, fields){
var affectedRows = rows.affectedRows;
if(err || affectedRows){
var msg = 'update ' + field + ' error';
logger.error(msg);
res.send({
'code': 500,
'state': 'failure',
'msg': msg,
'data': null
});
return;
}
res.send({
'code': 200,
'state': 'success',
'msg': 'updated',
'data': null
});
});
相关推荐
-
Docker + Nodejs + Kafka + Redis + MySQL搭建简单秒杀环境
秒杀活动可以说在互联网上随处可见,从12306抢票,到聚划算抢购,我们生活的方方面面都可以看到秒杀的身影.秒杀的架构设计也是对于一个架构师架构设计能力的一次考验.本文的目的并不在于提供一个可以直接落地的设计方案,而是意在提供一个简单的方法,一个思路,使大家能够对于秒杀背后的一些设计有更感性的认识, 并且可以自己亲自动手实践一下.所有的配置及源码都在本文最后的GitHub repository中可以找到. 首先,先简单介绍下本文中会涉及到的一些组件,如下图所示: JMeter:用JMeter来模拟
-
nodejs中操作mysql数据库示例
引言: 继前面的NodeJS的Hello,World!我们还可以看到其他强大之处,NodeJS现在社区的火热,以及大批工程师对它的支持之下,现在已经陆续的引出了大量的module出来了. 内容: 下面这个所演示的是NodeJS与Mysql 的交互. 这时需要为NodeJS加入Mysql 的Module了,这时前一章说到的npm(Node package manager)启到作用了. 把Mysql Module装到NodeJS中: 复制代码 代码如下: $npm install Mysql JS脚
-
nodejs连接mysql数据库简单封装示例-mysql模块
本人最近在学习研究nodejs,下面我来记录一下,有需要了解nodejs连接mysql数据库简单封装的朋友可参考.希望此文章对各位有所帮助. 安装mysql模块 npm install mysql 测试是否连接成功 mysql.js代码: var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', da
-
nodeJs链接Mysql做增删改查的简单操作
nodejs连接MySQL,首先安装了mysql之后,在cmd界面安装nodeJs的mysql模块: npm install mysql mysql中创建数据库"nodetry1",再创建表table2: 指定id为主键: var mysql = require('mysql'); //选择数据库和表 var TEST_DATABASE = 'nodetry1'; var TEST_TABLE = 'table2'; var connection = mysql.createConne
-
NodeJS与Mysql的交互示例代码
把Mysql Module装到NodeJS中 Js代码 复制代码 代码如下: $npm install Mysql JS脚本 mysqlTest.js Js代码 复制代码 代码如下: // mysqlTest.js //加载mysql Module var Client = require('mysql').Client, client = new Client(), //要创建的数据库名 TEST_DATABASE = 'nodejs_mysql_test', //要创建的表名 TEST_TA
-
nodejs进阶(6)—连接MySQL数据库示例
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABASE mydb1; mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | mydb1 | | performance_sch
-
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
在mysql中直接进行这样的判断的方法是使用 row_count(), 这一条语句要紧跟着你执行的sql语句后面. 而Nodejs的i/o都是异步的于是这就产生了一个问题, 不太好判断 row_count()到底是哪句sql执行的结果. 粗略的扫了一眼文档, 文档中并没有描述这个问题. 本想函数嵌套来达到同步的效果的, 却无意发现在执行sql对应的异步函数中的参数中有 affectedRows字段, 经测试, 这货就是 row_count()的结果.实例: 复制代码 代码如下: var cmd
-
php更新mysql后获取改变行数的方法
本文实例讲述了php更新mysql后获取改变行数的方法.分享给大家供大家参考.具体分析如下: 一个php更新mysql后获取改变的行数,在php中提供mysql函数来获取最后执行查询所影响的记录数:mysql_affected_rows(), 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数.FOUND_ROWS() : select ROW_COUNT():update delete insert. 下面就是文章的主要内容描述,代码如下: 复
-
Nodejs连接mysql并实现增、删、改、查操作的方法详解
本文实例讲述了Nodejs连接mysql并实现增.删.改.查操作的方法.分享给大家供大家参考,具体如下: 一.准备 nodejs的教程,大多以操作mongodb为示例.但是mongodb有一些局限性,具体官网上有说.我打算用MySQL,因为多少还有点使用经验.先以研究为主.node-mysql,是目前最火的node下的mysql驱动.初步了用了一下,因为异步回调的这种方式,果然好多坑. 下面这个项目的package name是 mysql,版本是mysql@ 2.5.4 先说明下面的所示代码,均
-
mysql 数据插入和更新及删除详情
目录 1.插入 2.更新 3.删除 1.插入 INSERT INTO customers( customers.cust_address, customers.cust_city, customers.cust_state, customers.cust_zip, customers.cust_country, customers.cust_contact, customers.cust_email ) VALUES('zhangsan','good','111','ca','dasdsa','
-
mysql获取group by总记录行数的方法
本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考.具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql中可以使用SQL_CALC_FOUND_ROWS来获取查询的行数,在很多分页的程序中都这样写: 复制代码 代码如下: SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数: 复制代码 代码如下: SELECT * FROM
-
NodeJs使用Mysql模块实现事务处理实例
依赖模块: 1. mysql:https://github.com/felixge/node-mysql npm install mysql --save 2. async:https://github.com/caolan/async npm install async --save (ps: async模块可换成其它Promise模块如bluebird.q等) 因为Node.js的mysql模块本身对于事务的封装过于简单,而且直接使用会有很严重callback hell,故我们封装了两个方法
-
mysql查询语句通过limit来限制查询的行数
mysql查询语句,通过limit来限制查询的行数. 例如: select name from usertb where age > 20 limit 0, 1; //限制从第一条开始,显示1条 select name from usertb where age > 20 limit 1; //同上面的一个效果 select name from usertb where age > 20 limit 4, 1; //显示从第五条开始,显示1条
-
mysql获取group by的总记录行数另类方法
mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql的SQL_CALC_FOUND_ROWS 使用 获取查询的行数 在很多分页的程序中都这样写: 代码如下 SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数 代码如下 SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据 这样的语句可以改成: 代码如下 SELECT SQL_
-
MySQL中联表更新与删除的语法介绍
前言 相信大家在日常使用mysql,可能会遇到需要同时更新两张表时,我会采用在同一个事务中使用2句sql语句分别进行更新.其实,这种需要发送2句sql语句的方法效率相对来说是比较低的,有没有只用1句sql语句就可以完成这个操作的呢? 答案是有的,下面将是代码记录: 假设有2张表: 1,user表,字段为:id,user_name 2,user_role表,字段为:id,role_name,user_id 关联关系是 user.id = user_role.user_id 现要更改某一条user表
-
php更新mysql后获取影响的行数发生异常解决方法
从manual上知道了mysql_affected_rows函数当UPDATE前后的数据一样时会返回异常值, 下面有个方便的解决办法,从官方munual上看到 bdobrica at gmail dot com 留言的: As a solution to the problem pointed in the post reffering to mysql_affected_rows() returning 0 when you are making an update query and the
随机推荐
- iOS实现微信支付流程详解
- Python科学计算之NumPy入门教程
- JS中多步骤多分步的StepJump组件实例详解
- asp.net下XML的加密和解密实现方法
- 微信 用脚本查看是否被微信好友删除
- 在asp中通过getrows实现数据库记录分页的一段代码
- jquery操作 iframe的方法
- node.js连接MongoDB数据库的2种方法教程
- Node.js中npm常用命令大全
- ASP中一个用VBScript写的随机数类
- jQuery的context属性用法实例
- javascript中Date对象应用之简易日历实现
- Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
- php表单提交问题的解决方法
- Linux环境下的ReiserFS文件系统
- Android入门之使用eclipse进行源码开发的方法
- php函数连续调用实例分析
- 基于C/C++ 常见误区详解
- Visual Studio 2017开发环境的安装图文教程
- java时间格式的简单整理