Error number: 4077; Symbol: ER_WARN_REGEXP_USING_DEFAULT; SQLSTATE: HY000
Message: Regular expression library used default (root) locale.
错误说明:
MySQL错误4077(ER_WARN_REGEXP_USING_DEFAULT)是指MySQL在使用正则表达式语句时,正则表达式中没有定义表示选项时出现的警告。在MySQL中,正则表达式支持一系列选项,用于控制正则表达式的行为。
SELECT * from table WHERE name REGEXP ‘[^A-Za-z0-9]’;
上面的正则表达式不指定任何标志,这将导致MySQL报出ER_WARN_REGEXP_USING_DEFAULT 错误。
解决方法:
要解决ER_WARN_REGEXP_USING_DEFAULT 错误,您需要给MySQL正则表达式指定可选标志。根据您的正则表达式的目的,应该指定适当的可选标志。如果你不知道标志是什么,你可以查阅MySQL文档说明。
在上面的案例中,您需要指定忽略大小写的标志,因此正则表达式应该为:
SELECT * from table WHERE name REGEXP ‘[^A-Za-z0-9]’i;
上面的表达式中的“i”表示忽略大小写的标志。您可以向此正则表达式中添加其他标志,以控制MySQL正则表达式的行为。