MySQL的ROW_COUNT()和ORACLE中的SQL%ROWCOUNT函数作用并不完全相同。从作用上来说,两者都是返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数,但是在UPDATE上两者还是有一定区别的。通过一个更新的例子来说明:MySQL上的测试(数据库版本为:5.1.30):1.创建数据库表:create table t(id int,name varchar(50),address varchar(100),primary key(id,name))engine =InnoDB;2.插入测试数据:insert into t(id,name,address)values(1,'yubowei','weifang'),(2,'sam','qingdao');3.update tset address = 'weifang'where id = 1and name = 'yubowei';此时查看影响的行数:select row_count(); ==〉执行结果为0;4.update tset address = 'beijing'where id = 1and name = 'yubowei';此时查看影响的行数:select row_count(); ==〉执行结果为1;从上面的测试可以得出在MySQL中只有真正对记录进行修改了的情况下,row_count才会去记录影响的行数,否则如果记录存在但是没有实际修改则不会将该次更新记录到row_count中。ORACLE上的测试(数据库版本为:10G):1.创建数据库表:create table t(id int,name varchar2(50),address varchar2(100),primary key(id,name));2.插入测试数据:insert into t(id,name,address)values(1,'yubowei','weifang'),(2,'sam','qingdao');3.update tset address = 'weifang'where id = 1and name = 'yubowei';此时查看影响的行数:v_RowCount := SQL%ROWCOUNT; ==〉执行结果为1;4.update tset address = 'beijing'where id = 1and name = 'yubowei';此时查看影响的行数:v_RowCount := SQL%ROWCOUNT; ==〉执行结果为1;从上面的测试可以得出在ORACLE,只要更新的记录存在,则不论实际由没有修改数据,影响的行数都会被累积记录下来。

对于习惯于通过使用SQL%ROWCOUNT来判断表中有没有记录,没有则插入一条记录的情况,在MySQL中进行存储过程开发时如果单纯的使用ROW_COUNT()函数可能会出现错误。

本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/223776

mysql sql rowcount_ORACLE中的SQL%ROWCOUNT与MySQL中的ROW_COUNT()的一点异同-阿里云开发者社区...相关推荐

  1. mysql大表join小表速度很慢_mysql多表join中,为什么子查询会那么慢,怎么解决-问答-阿里云开发者社区-阿里云...

    下面的sql执行后cpu100%,但是这三张join的表数据量都在2W左右,不应该啊,是不是数据库服务器配置出了问题啊.sql如下:select a.excel_id, a.rpt_id, a.acc ...

  2. mysql cmake错误_MySQL5.5安装出现CMake错误找不到CMakelists.txt原因-阿里云开发者社区...

    今天虚拟机上测试安装 CentOS6.3 + PHP5.4.8 + MySQL5.5.28,结果捣鼓了半天 MySQL都没装上,老是CMake目录下找不到那个 lists 文件,郁闷的不行,最后发现问 ...

  3. python如何实时捕捉cmd显示_如何从Python脚本中捕获Python解释器和/或CMD.EXE的输出? -问答-阿里云开发者社区-阿里云...

    如果您正在谈论python解释器或CMD.exe,它是您脚本的"父",那么不可能.在每个类似POSIX的系统中(现在你正在运行Windows,看起来可能有一些我不知道的怪癖,YMM ...

  4. mysql safe 关闭_新手请教,mysqld经常自动关闭是什么原因?-问答-阿里云开发者社区-阿里云...

    错误日志如下: 61103 22:12:15 mysqld_safe Number of processes running now: 0 161103 22:12:15 mysqld_safe my ...

  5. mysql join 索引 无效_ORACLE MYSQL中join 字段类型不同索引失效的情况-阿里云开发者社区...

    ORACLE MYSQL中join 字段类型不同索引失效的情况 重庆八怪 2016-12-29 780浏览量 简介: 关于JOIN使用不同类型的字段类型,数据库可能进行隐士转换,MYSQL ORACL ...

  6. freebsd mysql 安装_Freebsd中mysql安装及使用笔记-阿里云开发者社区

    Freebsd中mysql安装及使用笔记 x3d 2009-07-31 662浏览量 简介: 1.安装 一开始连mysql的软件包在freebsd中叫什么都不知道: 依稀属于databases类,先到 ...

  7. mysql double 存储_关于MYSQL中FLOAT和DOUBLE类型的存储-阿里云开发者社区

    关于MYSQL中FLOAT和DOUBLE类型的存储 重庆八怪 2016-04-12 844浏览量 简介: 关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方 ...

  8. 海明距离mysql查询_海量数据,海明距离高效检索(smlar) - 阿里云RDS PosgreSQL最佳实践-阿里云开发者社区...

    标签 PostgreSQL , 海明距离 , smlar , GiST索引 背景 SimHash的应用 通过上面的步骤,我们可以利用SimHash算法为每一个网页生成一个向量指纹,那么问题来了,如何判 ...

  9. dms mysql定义变量_数据管理DMS:自建MySQL数据库 全量SQL诊断功能发布啦!-阿里云开发者社区...

    MySQL的用户都面临都一个难题,异常或者故障问题难定位,很多时候都靠"猜". 如果比较幸运,异常正在发生,我们还可以获取到会话.引擎状态等信息: 如果没有异常现场,要找到根因,除 ...

最新文章

  1. Java数据结构和算法( 二 ) ## 数组
  2. Android 关于Edittext输入框光标焦点无法及时定位解决办法.
  3. 数据库的移动 1007 sqlserver
  4. orcal 工具能连接上 程序连接不上_电脑无线网络连接不上怎么办
  5. 小白学习MVC5+EF6遇到的问题一
  6. 大道至简阅读笔记06
  7. 经典浪漫的爱情英语妙语
  8. qcustomplot时间坐标轴画直线_为什么鸡看到画直线会晕?
  9. 全球半导体产业60年兴衰启示录!
  10. html中在线取色器,在线取色器(ColorPicker)的制造方式
  11. 最流行的 .NET 反编译工具合集
  12. 你知道怎么给客户朋友圈点赞吗?
  13. 清华大学网上课程面向全国免费开放!无需登录、注册!在家上清华!
  14. JAVA飞信_java调用飞信接口发短信 - 贪吃蛇学院-专业IT技术平台
  15. mooc幕课零基础学Java语言(翁恺)if-else语句比较三个数, 输出最大值
  16. 1-第1章 第3节-直角坐标与自然坐标转换-1-会用公式就行
  17. 有温度传感器的风机控制系统C语言,基于单片机的暖风机的设计任务书、开题报告...
  18. linux查看端口和防火墙的常用命令
  19. c语言根据月份判断季节指针,输入年份和月份,判断是否闰年?并根据月份判断是什么季节和有多少天...
  20. 我用Python爬取了五千张美女图壁纸,每天一张忘记初恋!

热门文章

  1. Dynamo-【NO.02】图形与色彩节点
  2. 关键词优化如何优化(网站seo关键词布局)
  3. 和聊天机器人的第一次心理咨询
  4. 奇门遁甲排盘程序如何确定值符
  5. cmake 如何指定 库文件
  6. 中国诗歌艺术10诗的魅惑:中国诗歌的几个基本元素之因声求气 因声见情
  7. 胜利祝酒词(1994)
  8. JavaScript高级【闭包】
  9. 图像处理46-分水岭算法
  10. Pads solder mask层和paste mask的区别理解