变量是否可以在MySQL中的用户定义函数中保存多个记录?

时间:2010-08-03 03:42:19

标签: mysql variables

我有一个用户定义的功能。

在该函数中,我声明了一个datetime类型的变量。

我将查询结果分配给此变量。我将返回此指定值。它看起来像

delimiter$$
drop function if exists getQEDate$$
create function getQEDate() returns datetime
begin

  declare qedate datetime;
  select date into qedate from qenddates where ....;

  return qedate;
end$$
delimiter ;

当访问此函数时,我得到一个例外,例如“返回多行...”。 所以我认为在返回结果时发生了这个错误。这意味着变量qedate可以容纳多行。

以上分析是否有意义?

1 个答案:

答案 0 :(得分:1)

可能是您的查询返回的行超过1行,并且无法将其存储到变量中。如果您只想要1行,则应检查where子句或在函数中将LIMIT 1添加到查询的末尾。

我猜是因为我看不到你的数据或你的where子句:)