抱歉,评论被关闭
如何解决Discuz!数据pre_common_stat报错?
最近一段时间数据库过12点后容易报错,错误如下:
(1062)Duplicate entry ‘20151203’ for key ‘PRIMARY’
INSERT INTO common_stat SET ‘daytime’=’20151203’,’login’=1
DISCUZ脚本处理这个触发时,有人点击网页才能进行处理,
这里说明同时并发的情况下,重复触发新建入库了。
这里就没有去查具体原因造成重复时间入库。
上解决办法:找到 source/class/table/table_common_stat.php 文件
函数 public function updatestat 里的DB::insert($this->_table, array(‘daytime’=>$nowdaytime, $type=>$num)); //更改为:DB::insert($this->_table, array(‘daytime’=>$nowdaytime, $type=>$num),true);
结:更改加一个true参数 此函数表示sql执行的 insert 替换为replace,这样就不会重复插入了;
本文出自 “凹凸曼” 博客,请务必保留此出处 http://www.apoyl.com/?p=1983
目前盖楼