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

来源:互联网 发布:js漂浮广告带关闭 编辑:程序博客网 时间:2024/05/21 10:25

转: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条了。



原创粉丝点击