问题标签 [mysql-udf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
545282 浏览

mysql - 如何在 MySQL 中进行正则表达式替换?

我有一张约 500k 行的表;varchar(255) UTF8 列filename包含一个文件名;

我正在尝试从文件名中删除各种奇怪的字符 - 我想我会使用一个字符类:[^a-zA-Z0-9()_ .\-]

现在,MySQL 中是否有一个函数可以让您通过正则表达式进行替换?我正在寻找与 REPLACE() 函数类似的功能 - 简化示例如下:

我知道REGEXP/RLIKE,但那些只检查是否有匹配,而不是匹配是什么

(我可以SELECT pkey_id,filename FROM foo WHERE filename RLIKE '[^a-zA-Z0-9()_ .\-]'从 PHP 脚本中执行“ ”,preg_replace然后执行“ UPDATE foo ... WHERE pkey_id=...”,但这看起来像是最后的手段,缓慢而丑陋的 hack)

0 投票
1 回答
1833 浏览

mysql - 用于处理 json 的 MySQL UDF?

MySQL 中是否有任何好的 UDF 来处理 json 数据,它支持在 json 中检索特定值的能力(通过点符号键 - EG:json_get('foo.bar.baz'))以及设置的能力特定键的值 - 例如:json_set('foo.bar.baz', 'value')?

我找到了http://www.mysqludf.org/lib_mysqludf_json/ - 但它似乎只提供了从非 json 列值创建 json 数据结构的能力,而不是与 json 列值交互。

0 投票
1 回答
7599 浏览

mysql - MySQL UDF sys_exec

我正在使用 MySQL UDF 函数sys_exec在 MySQL 的触发器中调用 Java 程序。您能否向我提供有关如何将参数传递给sys_exec它以便调用 Java 程序的信息?

0 投票
0 回答
938 浏览

php - 执行正则表达式搜索和替换的 MySQL UDF

您好,我是 open.uwec.edu 的新 Web 开发人员。我最近不得不切换我们的网络服务器并且遇到了一些挑战。我们的旧 MySQL 服务器使用 lib_mysqludf_preg 库中的一个名为 preg_replace 的函数来进行正则表达式搜索和匹配。它已经在名为 lib_mysqludf_preg.dll 和 libpcre.dll 的“MySQL Server 5.1/lib/plugin”文件夹中编译了一些 .dll。

如果我将这些 dll 复制到“MySQL Server 5.6/lib/plugin”的新服务器并执行类似...

我收到 MySQL 193 格式错误...

我在https://github.com/mysqludf/lib_mysqludf_preg/blob/testing/doc/INSTALL.windows查看了该库的 github 存储库上的指南,但链接没有像 pcre 这样的正确文件dll,这对我来说没有意义。是否有必要从头开始编译这个 preg 库?我使用它的函数看起来像这样。

我们的网站使用 php codeigniter 框架。我对 MySQL 上的 UDFS 几乎没有经验,所以我希望我提供了足够的信息。谢谢你。

0 投票
2 回答
10191 浏览

mysql - where子句中的mysql udf json_extract - 如何提高性能

如何有效地搜索 mysql 数据库中的 json 数据?

我从 labs.mysql.com 安装了 extract_json udf,并使用了一个包含 2.750.000 个条目的测试表。

示例 JSON 字段如下所示:

我发现将 json_extract 放入 select 语句中几乎没有性能影响。即以下选择(几乎)具有相同的性能:

但是,只要我将 json_extract 表达式放入 where 子句,执行时间就会增加 10 倍或更多(我从 2.5 秒增加到 30 秒):

此时我在想,我需要在插入时将要搜索的所有信息提取到单独的列中,并且如果我真的必须在 json 数据中搜索,我需要首先缩小要搜索的行数按其他标准,但我想确保我没有遗漏任何明显的东西。例如,我可以以某种方式索引 json 字段吗?还是我的选择语句写得效率低?

0 投票
0 回答
1686 浏览

mysql - 在 CentOS x64 上安装 mysqludf 库

我一直在谷歌上搜索我试图安装 MySQL 库的问题。

我已经从https://github.com/mysqludf/lib_mysqludf_sys下载了库文件,并将其放在位于以下位置的 digitalocean 服务器(在 CentOS x64 上运行)上:/usr/lib64/mysql/plugin

库的 Makefile 已更改,因此现在看起来像这样:

当我尝试使用以下命令从终端安装库时:

我收到此错误:

谷歌搜索这个错误我找到了这个潜在的解决方案,但它没有帮助。谁能帮我解决这个问题?

0 投票
2 回答
43 浏览

mysql - 无法创建此 MySQL UDF

当我尝试创建此函数时,我收到了各种错误代码,最近的一个是:“1064 - 您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本相对应的手册,以了解要使用的正确语法在第 2 行的“附近”

关于我做错了什么的任何线索?

0 投票
2 回答
14643 浏览

mysql - 错误 1126 (HY000): 无法打开共享库 'lib_mysqludf_sys.so' (errno: 193)

我正在使用在 32 位 Microsoft Windows XP(专业版 2002 Service Pack 3)上运行的 MySQL 5.6.11。我有兴趣安装 MySQL sys_execUDF。

以下命令,

显示以下插件位置。

我粘贴的地方lib_mysqludf_sys.so。然后运行以下命令,

从 MySQL 命令行导致以下错误(在以 root 用户登录并选择了已创建的数据库之后)。

错误 1126 (HY000): 无法打开共享库 'lib_mysqludf_sys.so' (errno: 193)

如何修复此错误?

msvcp110.dll需要下吗C:\WINDOWS\system32?它在那里不可用。但是,该文件msvcp100.dll位于C:\WINDOWS\system32.

0 投票
1 回答
5051 浏览

mysql - 通过执行本机操作系统的命令(如 curl)通过 MySQL 调用 HTTP GET 请求

我正在使用在 32 位 Microsoft Windows XP(专业版 2002 Service Pack 3)上运行的 MySQL 5.6.11。我安装了 MySQL sys_execUDF。因为我在 32 位 Windows 上运行,所以我使用了这个lib_mysqludf_sys.dllC:\Program Files\MySQL\MySQL Server 5.6\lib\plugin\ (因为它是默认安装,所以放在下面)。

之后,执行以下命令(登录到已创建的数据库后)。

我已经创建了一个 PL/SQL 存储过程,如下所示。

此过程应该由数据库触发器调用(已充分完成),因此,当此存储过程由触发器执行时,它应该在所述 URL 上引发 HTTP GET 请求,但不会在 URL 上引发 HTTP GET 请求在某个事件上。


在命令行上手动执行该过程也成功,如下所示。

sys_exec()函数返回1如下,这是一个成功标志


GlassFish (4.1) 应用程序服务器上已经运行了一个 Java Servlet,它应该按如下方式监听这个 HTTP GET 请求。

当上述 MySQL 的东西付诸实践时,方法中的行在服务器终端上什么也没有产生(因为它没有被执行/调用System.out.println("PushCountry called.");)。doGet()

使用 MySQL 执行此操作是否不切实际,是否还有其他我可能遗漏的东西,或者它是旧的 EOL 恐龙:Windows XP?


我使用的共享动态链接库可能不合适。请澄清,如果这种情况超出了我的范围。


编辑:

进入时,

MySQL 终止/崩溃并出现以下错误报告。

在此处输入图像描述

关闭此对话框后,MySQL 会留下以下错误消息。

错误 2013 (HY000): 查询期间丢失与 MySQL 服务器的连接

它无法重新连接,直到/除非系统本身重新启动。

也许,我稍后会考虑重新安装操作系统本身。

0 投票
1 回答
474 浏览

mysql - 将值附加到存储在 MySQL 中的 JSON 解码数组参数

我试图弄清楚如何根据某些条件将零附加到存储在 MySQL 表中的多个记录的特定 JSON 解码数组值。

例如,对于表 'menu',列 'params'(text) 的记录包含这种格式的 JSON 解码数组:

并且列“id”的数值为 90。

我的目标是每当(例如)menu.id 低于 100 时,在 menu.params 中的“类别”值中添加一个零。

为此记录结果是

所以我正在寻找一个 SQL 查询,它将在数据库中搜索并查找“类别”:[“999”] 的出现,并通过在值的末尾添加一个零来更新记录。

通过提供使用mysql-udf-regexp但它指的是 REPLACE 一个值而不是 UPDATE 它,这个答案是部分有用的。也许是 REGEXP_REPLACE?功能将解决问题。我从来没有使用过这个库,也不熟悉它,也许有一种更简单的方法来实现我需要的东西?

谢谢