首页 > mysql的update疑问

mysql的update疑问

今天在维护后台的时候碰到一个很奇怪的问题

页面上的编辑功能
1、从列表中选择一行记录,点编辑
2、进入编辑页面,展示已有数据

此时,不改任何内容,点击保存,提示失败了!

我看了下sql,生成sql语句正常,就是执行的时候,mysql返回影响行数为0!

貌似在update的时候,如果sql里的字段内容不一样的话,mysql才会执行成功,一样的话,就提示影响行数为0,

这是神马情况,mysql会自己检查字段内容吗??可以说说为毛?


如果sql语句正确,返回的是影响的条数;如果sql语句错误,返回的是false。


没有更新任何数据,提示0行受到影响。这没错啊


所以在程序里判断要用===来判断update返回的是false还是0,如果是false才是更新失败!

当然,我说的是世界上最好的编程语言


update语句在执行的时候,如果数据没有发生改变,影响行数是为0,反之,则返回影响的行数。


程序写的有问题,如果你update的数据跟原纪录是一模一样的,没做修改,即使query执行成功了,但返回的还是0。所以在判断update是否成功的时候,应该是===false来判断,如果只是==就回出现这样的错


对的,只有更新的内容与与原内容不一致才会增加结果数量,所以这叫影响行数……

【热门文章】
【热门文章】