mysql - 将查询结果分配给 MySQL 变量

标签 mysql sql variables mysql-error-1193

我正在查询一个只有读取权限的大型 mysql 数据库,我想将一些慢速查询结果设置为变量“foo”,以便我可以在其他查​​询中再次使用它们。

基本上,我想为繁琐的子查询提供一个变量,这样我就可以重用它,而无需在每次我想使用它时都运行它。

当我输入时:

set @foo := (select *
            from table1 join table2 
            where bar = 0 
            group by id);

我得到:错误 1241 (21000):操作数应包含 1 列 如果我限制为 1 列,错误 1242 (21000):子查询返回超过 1 行

有没有办法将数组或表存储在变量中?我没有创建临时表的权限。

最佳答案

当你在MySQL做的时候应该是@

set @foo := (select *
            from table1 join table2 
            where bar = 0 
            group by id);

关于mysql - 将查询结果分配给 MySQL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13737242/

相关文章:

mysql - Wordpress 将帖子文本存储为 html 还是纯文本?

mysql查询获取重复记录对应的数据

sql - Kohana 查询生成器支持 DATEDIFF?

javascript - 更改可变文本颜色

java - 如何创建一个存储用户输入的java方法?

c# - MySQL Entity Framework 迁移

mysql - Sqoop 导出时如何将 null 转换为 0

sql - 如果 from 和 to date 为空,如何获取最近 7 天的数据?

PHP - 如何搜索下拉菜单中指定的单个列

function - 为什么 Octave 不将变量封装在嵌套函数内?