CREATE PROCEDURE curd() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE b INT; declare d INT; declare e INT; declare f VARCHAR (200); SELECT product_id FROM kp6im_hikashop_product ORDER BY product_id DESC LIMIT 1 INTO d; DECLARE cur1 CURSOR FOR SELECT product_id from kp6im_hikashop_product WHERE `product_name` LIKE "%i5%"; DECLARE cur3 CURSOR FOR SELECT product_code from kp6im_hikashop_product WHERE `product_name` LIKE "%i5%"; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur1; SET e = d+1; read_loop: LOOP FETCH cur1 INTO b; FETCH cur3 INTO f; IF done THEN LEAVE read_loop; END IF; INSERT INTO `kp6im_hikashop_variant` (`variant_characteristic_id`, `variant_product_id`, `ordering`) VALUES (165, b, 1),(151, b, 0); INSERT INTO `kp6im_hikashop_product` (`product_id`, `product_parent_id`, `product_quantity`, `product_code`, `product_published`, `product_created`, `product_type`) VALUES (e, b, -1, CONCAT(f,'165_151'), 1, 1641967415, 'variant'); SET e = e+1; END LOOP; CLOSE cur1; CLOSE cur3; END;