关于MySQL的错误1222

时间:2012-09-02 05:12:36

标签: mysql sql mysql-error-1222

我正面临这个错误...... MySQL上的错误代码:1222:使用的SELECT语句具有不同的列数

这是我的代码:

CREATE PROCEDURE `test`() 
BEGIN 
   SELECT ID, Name 
   FROM attributes into @resultset; 
END 

1 个答案:

答案 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;