mysql FOUND_ROWS() 和 ROW_COUNT() 区别

FOUND_ROWS() 函数

  • FOUND_ROWS()函数返回的是上一条 SELECT 语句(或 SHOW语句等)查询结果集的记录数。
    注意,是上一条 SELECT 语句(即执行该函数前的最近一条SELECT语句),而不是上一条 SQL 语句;因为上一条SQL语句不一定是 SELECT 语句。且,像 SELECT ROW_COUNT() 这种语句也是 SELECT 语句,它们的结果集也会被 FOUND_ROWS() 函数查出来。
  • 如果上一条 SELECT 语句查询结果为空,则返回 0。
  • SHOW XXX(例如,show tables、show databases、show status)语句也会被 FOUND_ROWS() 函数查出来。

ROW_COUNT() 函数

  • FOUND_ROWS()函数返回的是上一条SQL语句,对表数据进行修改操作后影响的记录数。如果上一条SQL语句不是修改操作语句(INSERT/UPDATE/DELETE 等),而是查询语句(SELECT/SHOW 等)则返回-1。如果是修改操作语句,则返回修改(增/删/该)影响的记录数。注意,这里是上一条SQL语句(即执行该函数前的上一条SQL语句),和上面有所区别。
  • 如果上一条SQL语句是UPDATE语句,但是UPDATE后所有数据的值并没有改变,则返回 0。
  • 如果上一条SQL语句是建表语句(创建表或临时表),但创建的是空表,则返回 0。如果是删除表(DROP语句),则返回的还是 0。
  • 如果是创建临时表,但使用的是 AS 关键字直接将查询出来的值赋值给新建的临时表的话(其实就相当于新建了一个空表,紧接着使用了一条INSERT语句而已),则返回插入的记录数。

原文链接:https://blog.csdn.net/zhou520yue520/article/details/81155248

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值