Нямам MySQL сървър, така че вероятно има синтактични грешки и +1 грешки (т.е. може да не улавя последния в списъка, може да не напредва след първия елемент и т.н., проблемите са коригирани чрез поставяне на +1 в кода), но всъщност искате да замените вашия оператор INSERT с нещо това.
DECLARE INT _CURSOR 0;
DECLARE INT _TOKENLENGTH 0;
DECLARE VARCHAR _TOKEN NULL;
SELECT LOCATE(str, ",", _CURSOR) - _CURSOR INTO _TOKENLENGTH;
LOOP
IF _TOKENLENGTH <= 0 THEN
SELECT RIGHT(str, _CURSOR) INTO _TOKEN;
INSERT INTO input_data1(mobile) VALUE _TOKEN;
LEAVE;
END IF;
SELECT SUBSTRING(str, _CURSOR, _TOKENLENGTH) INTO _TOKEN;
INSERT INTO input_data1(mobile) VALUE _TOKEN;
SELECT _CURSOR + _TOKENLENGTH + 1 INTO _CURSOR;
SELECT LOCATE(str, ",", _CURSOR + 1) - _CURSOR INTO _TOKENLENGTH;
END LOOP;
Тогава вашето извикване на функция ще бъде нещо като
EXEC mobile_series1('9619825525,9619825255,9324198256')