我正在查询一个只有读取权限的大型 mysql 数据库,我想将一些慢速查询结果设置为一个变量“foo”,这样我就可以在其他查询中再次使用它们。
基本上,我想要一个用于繁琐子查询的变量,这样我就可以重用它,而无需每次我想使用它时都运行它。
当我输入:
set @foo := (select *
from table1 join table2
where bar = 0
group by id);
我得到:错误 1241(21000):操作数应包含 1 列,如果我限制为 1 列,错误 1242(21000):子查询返回超过 1 行
有没有办法将数组或表存储在变量中?我没有创建临时表的权限。