1329 - No data - zero rows fetched, selected, or proc

对msql过程的执行使用游标执行过程可以插入相应业务表数据,但是会报一个异常,当在Java中mysql过程会抛出异常1329 - No data - zero rows fetched, selected, or proc

经网上以及个人测试得出以下可以解决异常的方法,同时对再网上发出用正确的方式解决问题的大神说声谢谢。

方式一:

create PROCEDURE test()
BEGIN
   DECLARE _tmp INT default 0;
   DECLARE _stop INT default 0;
 
   DECLARE cur CURSOR FOR  SELECT count(*) from activeUserDetail;
   -- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
   -- DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET error = 1,done=1;
   DECLARE CONTINUE HANDLER FOR 1329 SET _stop = 1;
   OPEN cur;
   l1:LOOP
  FETCH FROM cur INTO _tmp;
       IF _stop<>1 THEN
             INSERT INTO temp(TEXT_)VALUES(_tmp);
        ELSE
        LEAVE l1;
        END IF;
   end LOOP;
END

mysql错误:Column count doesn't match value count at row INSERT INTO table_name(col_name1, col_name2, col_name3) VALUES('value1','value2');  

语句中,前后列数不等造成的,仔细检查即可避免

猜你喜欢

转载自wo-niu.iteye.com/blog/2087180