How to get rid of “Error 1329: No data - zero rows fetched, selected, or processed”

后端 未结 7 1672
心在旅途
心在旅途 2020-12-01 13:51

I have a stored procedure which does not need to return any values. It runs smoothly and without any problem. However, it outputs an error message after finishing its run:

7条回答
  •  甜味超标
    2020-12-01 14:17

    I tried the solutions in here and none, including the continue handler worked for me. I still get the messages in the MySQL error log. I discovered this also with my "select ... into ..." which made sense, but I really thought the continue handler would work for the cursors. Either way I found using "found_rows()" to find out if any rows were returned worked perfectly. This mean that the simple "select into" statements have to be converted to cursors, but it isn't much work and does solve the problem.

    DECLARE v_rowcount      integer unsigned;
    DECLARE cur_entries cursor for
            select app_name, proc_name, error_code, sum(occurrences) occurrences
            from that_table...; 
    open cur_entries; 
    set v_rowcount = found_rows();
    if v_rowcount > 0 then
      fetch cur_entries into v_app_name, v_proc_name, v_error_code, v_occurrences;
      ...
    end if;
    close cur_entries;
    

    I wrote this up on my personal blog here: http://tinky2jed.wordpress.com/technical-stuff/mysql/mysql-no-data-zero-rows-fetched-how-to-code-for-it/

提交回复
热议问题