如何解决Discuz!数据pre_common_stat报错?

分类:Mysql,问题集 | 作者:凹凸曼 | 发表于2015/12/04

最近一段时间数据库过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

 

 

日志信息 »

该日志于2015-12-04 16:32由 凹凸曼 发表在Mysql, 问题集分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

目前盖楼 (0)层:

发表评论 »

« »