Tôi đoán bạn vừa quên đưa dòng sau vào bài đăng của mình:
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
Mã của bạn đúng, nhưng lỗi / hành vi lạ của mysql khiến cảnh báo xuất hiện ngay cả khi nó đã được xử lý. Bạn có thể tránh được điều đó nếu bạn thêm một câu lệnh "dummy" vào cuối quy trình của mình để điều khiển một bảng và thành công, điều này sẽ xóa cảnh báo. (Xem http://dev.mysql.com/doc /refman/5.5/en/show-warnings.html ) Trong trường hợp của bạn:
SELECT name INTO l_name FROM customer_tbl LIMIT 1;
Sau khi kết thúc vòng lặp. Trên MySQL 5.5.13, cảnh báo biến mất, trên Linux và Windows, tôi đã nhận xét về MySQL Bug 60840 và tôi hy vọng họ sẽ sửa nó trong tương lai ...