将数据插入MySQL中的表时会出现争用情况。我检查没有重复的密钥,但有时还有另一个PHP线程做同样的事情:
DEBUG - 2018-02-03 03:40:41 --> [9GH212VT] SELECT * FROM `device_cache` WHERE `md5sum` = '4fd43e58b0a538a0d97e4b8074b0aa80'; - 7.2002410888672E-5
DEBUG - 2018-02-03 03:40:41 --> [DLZ6FPAE] INSERT INTO `device_cache` (`md5sum`, `user_agent`, `data`) VALUES ('4fd43e58b0a538a0d97e4b8074b0aa80', '...'); - 0.10529589653015
ERROR - 2018-02-03 03:40:41 --> [QCSUMNJ5] Query error: Duplicate entry '4fd43e58b0a538a0d97e4b8074b0aa80' for key 'PRIMARY' - Invalid query: INSERT INTO `device_cache` (`md5sum`, `user_agent`, `data`) VALUES ('4fd43e58b0a538a0d97e4b8074b0aa80', '...')
我想知道是否可以捕获此错误,Codeigniter在发现此错误时终止执行。
答案 0 :(得分:0)
在application / config / database.php中设置
$db['default']['db_debug'] = FALSE;
并且Codeigniter不会停止执行