我正面临这个错误...... MySQL上的错误代码:1222:使用的SELECT语句具有不同的列数
这是我的代码:
CREATE PROCEDURE `test`()
BEGIN
SELECT ID, Name
FROM attributes into @resultset;
END
答案 0 :(得分:1)
正如SELECT ... INTO
Syntax所述(我的重点补充):
INTO
子句可以命名一个或多个变量的列表,这些变量可以是用户定义的变量,存储过程或函数参数,也可以是存储的程序局部变量(参见Section 13.6.4, “Variables in Stored Programs”)。选定的值将分配给变量。 变量数必须与列数匹配。 查询应返回单行。如果查询未返回任何行,则会发生错误代码为1329的警告(No data
),并且变量值保持不变。如果查询返回多行,则会发生错误1172(Result consisted of more than one row
)。如果语句可能检索多行,则可以使用LIMIT 1
将结果集限制为单行。SELECT id, data INTO @x, @y FROM test.t1 LIMIT 1;