una opción mucho mejor es evitar el cursor, puede reemplazar el cursor con algo como
DELETE FROM `join_columns`
WHERE `join_id` in
(SELECT `id`
FROM `joins`
WHERE `table_left_id`=irid OR `table_right_id`=irid);
una opción mucho mejor es evitar el cursor, puede reemplazar el cursor con algo como
DELETE FROM `join_columns`
WHERE `join_id` in
(SELECT `id`
FROM `joins`
WHERE `table_left_id`=irid OR `table_right_id`=irid);