SELECT ... INTO对一个变量失败,但对两个变量失败

时间:2012-01-26 19:53:02

标签: mysql

运行相当旧版本的MySQL:

mysql> SELECT @@version;
+-----------+
| @@version |
+-----------+
| 5.0.77    |
+-----------+

害怕我不能自由更新它,所以我承认简单的答案可能是“将MySQL升级到更新的版本。”

当我执行SELECT...INTO查询时,应该返回只有一列的单行时出错:

mysql> SELECT id
  INTO @active_id
  FROM a_table
  WHERE active = 1
  LIMIT 1
  ;

> Undeclared variable: id

但是如果我添加一个额外的列,它可以正常工作:

mysql> SELECT id, 42
  INTO @active_id, @ignored
  FROM a_table
  WHERE active = 1
  LIMIT 1
  ;
> Query OK, 1 row affected (0.00 sec)

mysql> SELECT @active_id, @ignored;

+------------+----------+
| @active_id | @ignored |
+------------+----------+
| 1          | 42       |
+------------+----------+

这有更好的解决方法吗?我的语法错了吗?

0 个答案:

没有答案