我正在使用我的生产服务器下的MariaDB Server Version 5.5
在本地我正在使用MariaDB 10.1
现在我正在尝试在本地使用REGEXP_REPLACE函数它工作正常,但是当我以前在生产服务器中我得到 REGEXP_REPLACE函数不存在错误
然后我开始知道REGEXP_REPLACE函数将仅支持MariaDB 10.0.5及更高版本。
有没有办法在5.5版本下达到REGEXP_REPLACE功能?
答案 0 :(得分:1)
是的,您可以使用用户定义的函数(或简称UDF)来实现。您需要熟悉C / C ++开发。编译共享库/ DLL,将其放入插件目录,执行CREATE FUNCTION ... SONAME myfunc.so,然后扩展MySQL。
https://dev.mysql.com/doc/refman/5.6/en/adding-udf.html提供了对该过程的描述,源代码提供了一些UDF的示例,例如https://github.com/MariaDB/server/blob/10.1/sql/udf_example.c
当然这只是合适的,如果用SQL编写具有相同功能的存储函数并不容易(在这种情况下我会说是正确的)
答案 1 :(得分:0)