我用的是 Mysql 5.5版本的,在使用mysql的存储过程的时候出现 “ mysql The used SELECT statements have a different number of columns ”错误
网上很多说是 union 在联表查询的时候,两个表的结构不一致导致的。不过我的情况不一样,虽然不知道原因,但是知道错误在哪里,改了之后也就正常使用了。
这个问题,是因为 在写出类似这样的存储过程才会这样:(我只要得到 award_id 的值)
select MIN(day), award_id into pMinId from ladder_award where role_id = tt_roleId limit 1 ;
两个查询结果,传入到一个变量中,mysql貌似无法智能识别(自己的猜测)传入到哪个变量。因此,只需再申请一个变量,将两个查询结果全部传入变量即可:
select MIN(day), award_id into
pMinDay, pMinId from ladder_award where role_id = tt_roleId limit 1 ;