【Web前端问题】mysql update 的奇葩问题
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请求,看看发了几个请求过去了。
回答:
回答:
能把代码贴上来么, 我在本地的测试正确的, 我是在mysql 命令行 里面敲的
update ask_posts set state=state+1 where id=10;
得到的结果:
回答:
你应该把PHP代码贴出来,问题很可能是在那
以上是 【Web前端问题】mysql update 的奇葩问题 的全部内容, 来源链接: utcz.com/a/139941.html