有多种方法可以做到这一点。
您可以使用子查询:
SET @some_var = (SELECt COUNT(*) FROM mytable);
(就像您的原始文章一样,只需在查询周围添加括号)
或使用SELECt INTO语法分配多个值:
SELECT COUNT(*), MAX(col)INTO @some_var, @some_other_varFROM tab;
子查询语法稍微快一些(我不知道为什么),但是只能分配一个值。select
into语法允许您一次设置多个值,因此,如果需要从查询中获取多个值,则应该这样做,而不是针对每个变量一次又一次地执行查询。
最后,如果您的查询返回的不是一个行而是一个结果集,则可以使用cursor。



