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

guiyun affiliate

最近一段时间数据库过12点后容易报错,错误如下:

(1062)Duplicate entry ‘20191226’ for key ‘PRIMARY’

INSERT INTO common_stat SET ‘daytime’=’20191226’,’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,这样就不会重复插入了;


guiyun affiliate

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:如何解决The table ‘表名’ is full 错误?
下一篇:如何解决ALTER TABLE causes auto_increment resequencing ?

相关推荐

4

发表评论