mysql的update疑问
巴扎黑
巴扎黑 2017-04-17 13:46:57
[MySQL讨论组]

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

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

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

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

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

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

巴扎黑
巴扎黑

全部回复(6)
PHP中文网

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

ringa_lee

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

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

天蓬老师

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

迷茫

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

黄舟

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

黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号