gpt4 book ai didi

Mysql函数返回系统结果

转载 作者:行者123 更新时间:2023-11-29 13:01:39 25 4
gpt4 key购买 nike

在 mysql 中,我试图创建一个函数来返回 bash 命令的结果。我创建了我正在尝试做的事情的简化版本,以使其更容易理解。

我有一个名为 mycmd.sh 的文件,其中包含以下行:

echo $1 'test'

在mysql中,我执行sh文件,它工作正常

system ~/mycmd.sh 'test'

但我希望能够在 mysql 中进行选择时调用它,就像这样

select myFunc(username) from user;

结果是,每个用户名后面都会有一个“test”。

问题是当我尝试创建 mysql 函数时

CREATE FUNCTION myFunc(s VARCHAR(500)) RETURNS VARCHAR(505)
RETURN SYSTEM ~/mycmd.sh s;

我总是收到错误:ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 2 行“~/mycmd.sh s”附近使用的正确语法

我尝试将其放在引号中、变量中或准备好的语句中,但似乎没有任何效果...

有人知道如何做到这一点吗?

谢谢

最佳答案

不幸的是,如果不使用 UDF(用户定义插件),您想要做的事情是不可能的。您使用的 system 命令是 MySQL shell 的一部分,而不是实际的 MySQL 函数,这就是它在您尝试定义的函数中不起作用的原因。

我能想到的唯一其他选择是编写一个模仿外部命令将要执行的操作的过程。

关于Mysql函数返回系统结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23250421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com