Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एकाधिक मान डालने mysql प्रक्रियाओं में काम करता है?

मेरे पास एक 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')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस डिज़ाइन:विदेशी कुंजी की पहचान करने का क्या मतलब है?

  2. गतिशील एसक्यूएल क्या है?

  3. PHP डेटाबेस वर्ग पैटर्न प्रश्न/सुझाव

  4. अनुक्रमित फ़ील्ड पर चयन करते समय IN(...) का उपयोग क्यों चयन क्वेरी के प्रदर्शन को मार देगा?

  5. पृष्ठ को कई बार पुनः लोड/रीफ्रेश करने पर max_user_connections से अधिक होने से कैसे रोकें?