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

कोडइग्निटर ढांचे का उपयोग करके सरणी से एकाधिक पंक्तियों को कैसे सम्मिलित करें?

एक INSERT को असेंबल करना एक से अधिक पंक्तियों वाला कथन MySQL में एक INSERT . की तुलना में बहुत तेज़ है प्रति पंक्ति कथन।

उस ने कहा, ऐसा लगता है कि आप PHP में स्ट्रिंग-हैंडलिंग समस्याओं में भाग ले रहे हैं, जो वास्तव में एक एल्गोरिदम समस्या है, भाषा नहीं। मूल रूप से, बड़े तारों के साथ काम करते समय, आप अनावश्यक प्रतिलिपि को कम करना चाहते हैं। मुख्य रूप से, इसका मतलब है कि आप संघटन से बचना चाहते हैं। एक बड़ी स्ट्रिंग बनाने का सबसे तेज़ और सबसे अधिक मेमोरी कुशल तरीका, जैसे कि एक बार में सैकड़ों पंक्तियों को सम्मिलित करने के लिए, implode() का लाभ उठाना है। फ़ंक्शन और सरणी असाइनमेंट।

$sql = array(); 
foreach( $data as $row ) {
    $sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')';
}
mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));

इस दृष्टिकोण का लाभ यह है कि आप प्रत्येक संयोजन के साथ अब तक इकट्ठे किए गए SQL कथन की प्रतिलिपि नहीं बनाते और न ही पुन:प्रतिलिपि बनाते हैं; इसके बजाय, PHP यह एक बार करता है implode() . में बयान। यह एक बड़ा है जीत।

यदि आपके पास एक साथ रखने के लिए बहुत सारे कॉलम हैं, और एक या अधिक बहुत लंबे हैं, तो आप एक ही काम करने के लिए एक आंतरिक लूप भी बना सकते हैं और implode() का उपयोग कर सकते हैं। मान क्लॉज को बाहरी सरणी में असाइन करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सर्वर या phpMyADMIN तक पहुंच के बिना SQL तालिका निर्यात करने का आसान तरीका

  2. MySQL या MariaDB डेटाबेस से कैसे कनेक्ट करें

  3. MySQL में एक टेबल बनाएं

  4. MySQL डेटाबेस को Amazon RDS से DigitalOcean में माइग्रेट करना

  5. MySQL में दो तिथियों के बीच दिनों की संख्या कैसे खोजें