运行相当旧版本的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 |
+------------+----------+
这有更好的解决方法吗?我的语法错了吗?