Error number: 3687; Symbol: ER_REGEXP_INTERNAL_ERROR; SQLSTATE: HY000
Message: Internal error in the regular expression library.
错误说明:
MySQL错误 3687 (ER_REGEXP_INTERNAL_ERROR) 是一种由 MySQL 报出的通用错误,该错误表明在执行正则表达式过滤器时,存在一种内部错误。也就是说,在 MySQl 运行时,可能会出现一个未知的执行流程。
MySQL错误 3687 是一种复杂的技术性问题,因此,出现此错误的案例几乎是不可知的。但是有了足够的经验,可以让我们知道一件,内部错误是由使用 MySQL 的应用程序(如果系统是多人在线环境,那么就会有几个不同的应用程序)或者是 MySQL 本身引起此类问题的最常见原因。另外,在一些极端情况下,可能会发生 MySQL 执行了一个错误指令,因而导致了此错误。
解决方法:
1. 检查 MySQL 日志文件,确定问题是否在 MySQL 或客户端程序中出现。有时候,程序员会忘记在程序中做一些处理,从而导致该错误的出现。
2.重新启动 MySQL服务,确保他可以正常运行。
3.尝试清洗[ MySQL 缓存,使用 FLUSH TABLES 命令或者是清洗数据存储引擎; 如果系统上有其他用户登录,请发出FLUSH USERS命令以删除所有MySQL用户列表中的旧信息。
4.检查其余的 SQL 语句,看它们是否存在一些问题。如果发现问题,就要做出调整。
5.当问题持续出现的时候,请不要私自将数据库文件重置,有时它可能更不安全,而且可能还会使问题更加棘手。错误仍然出现的话,这时候建议可以尝试重新安装 MySQL 系统,以及进行更精细化的调试。
6.尽量避免使用 MySQl 日期操作,如果一定要使用,请不要使用某些可能会引起此错误的 MySql 语句,比如 CURDATE() 和 CURTIME() 函数。
7.尝试Disable SQL mode,这样可以避免 MySQL 语句报错。
8. 同时,如果系统有其他用户时,我们也应该尝试退出并重新登录他们的帐户,这样做有可能重新安装并且发挥前面所做的修改,比如SQL mode 禁用,让系统能正常运行起来。