SELECT .. INTO返回多行 - Mysql

时间:2017-09-21 11:36:40

标签: mysql stored-procedures insert insert-into

我有一个基本的存储过程

DECLARE user_o VARCHAR(50);

SELECT user_name INTO user_o FROM users WHERE topic_id = 54 AND entry_time BETWEEN 
2017-09-17 AND date_add( CURRENT_DATE, INTERVAL 1 DAY) ORDER BY entry_time ASC 
LIMIT 10;

这会抛出我的错误#1172 sql返回多行。不知道为什么?

我的目标是拥有此结果集

user_name |  user_o
  mike       mike
  liz        liz
  helen      helen
  her        her

1 个答案:

答案 0 :(得分:2)

这是因为你将结果'INTO'插入一个变量,因为结果不止一个值,因此错误。

您的限制为10,尝试更改为1,这将修复它,如果您想要返回多个值,则需要在记录集中管理这些值。