有什么确切的办法能知道update语句是执行成功的吗? Mysql有个特点,如果update语句设定的新值和旧值是一样的,那么update语句不会真正产生效果,会造成影响的行为0,而以前我们都是靠检查update语句影响的行数来确认存储过程中的update语句是否成功执行了的,这个在这里就不起效了,该用什么新方法,非要设置个变量然后传出来吗?不方便啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写程序的时候把excute sql语句放在try catch 里面白!catch里面捕捉到了 excute Exception不就是说明 update 出错了吗! 问题在于,有些时候sql本身不会出错,是系统没有这条记录,所以才要判断update是否成功了 所谓的成功或者不成功不是靠着返回值来判断的,只要执行了这个语句没有报错就说明成功了,如果你要更新的记录不存在,你可以在更新之前执行select count(*) from table where 。。如果返回值>0,这样子你再去更新啊! 这样我就必须增加一个输出参数来记录这个值,而很多ORM工具都有的类似ExecuteNonQueryPro这样的返回收到影响的行数的函数就没法用 请问mysql的存储过程有返回值这个说法?我记得是没有的,只有输出参数,那就必须改存储过程的签名 关于行列转换 mysql多表查询的问题 MySql数据库 字段为空 却可以插入空记录 SQL优化 ~~ 出现Using temporary; Using filesort 一个关于mysql存储过程的问题 如何還原備和備份Mysql 大家看看这个my.cnf有什么问题没有! MySQL数据库备份问题? 为什么在:=这样的表达式里不允许使用局部变量? datetime timestamp查询性能咨询 找出数据并修改 mysql中通過phpmyadmin可以建存儲過程嗎?如何建?
把excute sql语句放在try catch 里面白!
catch里面捕捉到了 excute Exception不就是说明 update 出错了吗!
如果你要更新的记录不存在,你可以在更新之前执行
select count(*) from table where 。。
如果返回值>0,这样子你再去更新啊!