• 技术文章 >后端开发 >php教程

    javascript - mysql update 的奇葩问题

    2016-06-06 20:39:00原创339
    update table_xxx set a=a+1 where documentid=123

    如果数据库中为10 那么 执行后就是11
    但是最后结果总是12 ,我都郁闷了一天了,怎么办。程序没有任何问题,我用mysql类,和原生的sql都试过了,都这这个问题,以前开发的时候也没有遇到,开发一年遇到这样的问题有解决不了,感觉就是一饭桶,求大神指教

    数据库结构:

    CREATE TABLE comment_top_foot (
    id int(10) NOT NULL AUTO_INCREMENT,
    documentid int(10) NOT NULL,
    commentid int(10) NOT NULL,
    topnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论顶的数量',
    footnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论踩的数量',
    PRIMARY KEY (id)
    ) ENGINE=MyISAM AUTO_INCREMENT=1500 DEFAULT CHARSET=latin1
    

    刚才我在linux下运行脚本了,数据库中是加一的没错,但是我在浏览器访问这个脚本后数据库值加2 的,这是神马原因!

    找到原因了,在同事那里用浏览器是正常的,我换成火狐或者ie也是正常的,现在用的是谷歌的,出问题了,唯一纳闷的是为什么谷歌浏览器会出问题。郁闷。。。

    回复内容:

    update table_xxx set a=a+1 where documentid=123

    如果数据库中为10 那么 执行后就是11
    但是最后结果总是12 ,我都郁闷了一天了,怎么办。程序没有任何问题,我用mysql类,和原生的sql都试过了,都这这个问题,以前开发的时候也没有遇到,开发一年遇到这样的问题有解决不了,感觉就是一饭桶,求大神指教

    数据库结构:

    CREATE TABLE comment_top_foot (
    id int(10) NOT NULL AUTO_INCREMENT,
    documentid int(10) NOT NULL,
    commentid int(10) NOT NULL,
    topnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论顶的数量',
    footnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论踩的数量',
    PRIMARY KEY (id)
    ) ENGINE=MyISAM AUTO_INCREMENT=1500 DEFAULT CHARSET=latin1
    

    刚才我在linux下运行脚本了,数据库中是加一的没错,但是我在浏览器访问这个脚本后数据库值加2 的,这是神马原因!

    找到原因了,在同事那里用浏览器是正常的,我换成火狐或者ie也是正常的,现在用的是谷歌的,出问题了,唯一纳闷的是为什么谷歌浏览器会出问题。郁闷。。。

    考虑下,你防重复提交逻辑做了没有?
    抓一下http请求,看看发了几个请求过去了。

    http://stackoverflow.com/questions/19264616/mysql-update-query-is-executing-twice-in-chrome-but-once-in-mozilla

    https://codebuildplay.wordpress.com/2014/03/06/chrome-loads-page-twice-sitecore-dms-gets-faulty-usage-data/

    能把代码贴上来么, 我在本地的测试正确的, 我是在mysql 命令行 里面敲的

    update ask_posts set state=state+1 where id=10;
    

    得到的结果:

    你应该把PHP代码贴出来,问题很可能是在那

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql php chrome javascript
    上一篇:PHP 如何操作跨域的COOKIE,不同服务器上 下一篇:javascript - 哪里有可以下载的股票历史数据?
    PHP编程就业班

    相关文章推荐

    • 带你聊聊PHP中的泛型之基础知识浅析• PHP高并发实例详解之解决商品库存超卖问题• 十天学会php之第三天_php基础• php将数组存储为文本文件方法汇总_PHP• 再点一次Active的名,我把你的函数功能扩充了一下,嘻嘻,现在能_PHP

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网