select @temp=userName from test这一句有问题,这步会把test表的最后一行的userName赋值给@temp ,所以if(@temp=@name)就相当于拿你输入的值和test的最后一个userName比较。 select @temp=userName from test where XXXX='XXXX'后面加上你想要的过滤条件。
直接判断啊,if a =b then CASE1 else CASE@
用if判断