Result consisted of more than one row

mysql的参数赋值语句必须是只能够选出一行,

SELECT username,nickname INTO Ausername,Anickname FROM userbase WHERE userid = userid LIMIT 1 ;

这样的语句必须要加上limit 1才行。

另外,这种赋值语句还有个规矩就是参数名和字段名不能冲突,不然能够执行过去,但是却没有给参数赋值,这是个很隐性的错误,可以参考手册上的:

重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column

posted on 2009-06-04 11:00  Keep Walking  阅读(5682)  评论(0编辑  收藏  举报