MySQL 返回影响行数的测试示例

MySQL行计数技巧
本文介绍了MySQL中使用found_rows()和row_count()函数来高效获取数据行数的方法,包括插入、更新、删除操作后的行数统计及如何避免使用count(*)。

转:http://www.veryhuo.com/a/view/14290.html

(在测试MySQL 5.1.36上测试) 

found_rows() : select 
row_count() : update delete insert 

注:需要配合相应的操作一起使用,否则返回的值只是1和-1(都是不正确的值) 

示例:

drop database if exists `mytest`; 
create database `mytest`; 
use `mytest`; 

drop table if exists `MyTestTable`; 
create table `MyTestTable`(`ID` int ,`Name` varchar(10)); 

insert into `MyTestTable`(`ID`,`Name`) 
select '1','role1' union all 
select '2','role2' union all 
select '3','role3'; 
select row_count(); -- 输出3(返回新添加的记录数),[注:如果使用insert into...values只返回1] 

select * from `MyTestTable`;select found_rows(); -- 输出3(返回选择的行数) 
update `MyTestTable` set `Name`='people';select row_count(); -- 输出3(返回修改的行数) 
delete from `MyTestTable`;select row_count(); -- 输出3(返回删除的行数)

保存获取到的行数
 SET @rows = FOUND_ROWS();

mysql获取总行数,不用count();
select SQL_CALC_FOUND_ROWS * from 表名 limit 2;
select found_rows();
found_rows() 会返回记录总行数,不是limit限制的2条了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值