我想将一个 MySQL 函数 (UDF) 绑定(bind)到表中的一个列,其中该列将充当该函数的别名,并返回它的值。
伪代码示例可能比文字更好地解释这一点。
TABLE example (
...
col_x => int,
col_y => int,
col_sum => function() { return SUM(col_x + col_y}
);
我希望能够做的是:
SELECT col_sum FROM example WHERE...;
col_x = 3
和 col_y = 5
的行应该使 SELECT col_sum
返回 8。
我知道在查询本身中执行此操作非常简单,但在这种情况下,我试图在不重写大量现有代码的情况下修复项目中的错误。
我目前使用的是 MySQL 5.5。
(我尝试用谷歌搜索这个,但到目前为止我只是得到关于在我的查询中使用 UDF 的结果,这没有帮助。)
最佳答案
可以使用 View 吗?
create view v_table as
select (colx + coly) as colsum, t.*
from "table" t;
一种可能是将原始表实际重命名为_table
,然后使用原始表名创建 View :
rename table "table" to "_table";
create view "table" as
select (colx + coly) as colsum, t.*
from "_table" t;
关于mysql - 将函数绑定(bind)到 MySQL 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739464/