Mysql
 sql >> Baza danych >  >> RDS >> Mysql

wstawianie wielu wartości działa w procedurach mysql?

Nie mam serwera MySQL, więc prawdopodobnie występują błędy składni i błędy +1 (np. może nie przechwytywać ostatniej pozycji na liście, może nie przejść do pierwszej pozycji itp., problemy naprawione przez umieszczenie +1 w kodzie), ale zasadniczo chcesz zastąpić instrukcję INSERT czymś takim.

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;

Twoje wywołanie funkcji będzie wtedy wyglądało jak

EXEC mobile_series1('9619825525,9619825255,9324198256')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql wklej dwa wyniki razem (obok siebie)

  2. Wyszukiwanie MYSQL REGEXP w ciągu JSON

  3. Model Codeigniter z wieloma warunkami aktualizacji przy użyciu instrukcji, gdzie oświadczenie

  4. połączenie mysql pdo nie zamyka się?

  5. Masz więcej problemów z mysqli. Dane liczbowe w wynikach