Ik heb geen MySQL-server, dus er zijn waarschijnlijk syntaxisfouten en +1-fouten (d.w.z. mogelijk niet de laatste op de lijst vastleggen, mogelijk niet verder gaan dan het eerste item enz., problemen opgelost door een +1 in de code te plaatsen), maar u wilt in principe uw INSERT-instructie vervangen door iets dit.
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;
Uw functieaanroep zou dan zoiets zijn als
EXEC mobile_series1('9619825525,9619825255,9324198256')