参考:https://www.cnblogs.com/JennyYu/p/16888090.html
https://blog.csdn.net/my_new_way/article/details/103572667
FOUND_ROWS():
found_rows()用于查询同一连接下,上一条执行select查询返回的行数,包括show 语句返回的行数。中间可以插入执行dml语句,返回依然是上一条select语句返回的行数。
使用sql_calc_found_rows 与 found_rows()组合,可以查询到去除limit限制后返回的总行数。
1.与 SQL_CALC_FOUND_ROWS 合用,返回满足条件的行数,应用where,但会忽略LIMIT。
SELECT SQL_CALC_FOUND_ROWS * FROM student WHERE Gender='男' LIMIT 1;-- 查1行
SELECT FOUND_ROWS();-- 返回表中所有 Gender='男' 的总行数 8
2.不加 SQL_CALC_FOUND_ROWS 的时候,返回查询返回的总数据行数,包含LIMIT。
ROW_COUNT():
row_count()查询同一连接上一条dml语句返回的行数,中间不能穿插其他select语句。如果有其他语句,结果返回-1。
UPDATE student SET Gender='1' WHERE id<=3;
SELECT ROW_COUNT();-- 返回3
如果Gender本来就是1,那么Mysql不会更改,则ROW_COUNT()不会计数,比如第一条、第二条的Gender本来就是1,那最后返回1。
努力加载评论中...
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步