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

कोडिनेटर के इन्सर्ट_बैच () में हजारों इंसर्ट के साथ रिकॉर्ड गायब हैं

insert_batch() वास्तव में आपकी समस्या से बचने की कोशिश करता है - MySQL से बड़ा डेटा डालने का प्रयास एक समय में संसाधित करने के लिए कॉन्फ़िगर किया गया है। मुझे यकीन नहीं है कि इसके लिए MySQL का विकल्प max_allowed_packet था? या कुछ और, लेकिन इसके साथ समस्या यह है कि यह बाइट्स में एक सीमा निर्धारित करता है न कि कई पंक्तियों में।

यदि आप DB_active_rec.php, mysql_driver.php या जो भी उपयुक्त हो संपादित कर रहे हैं ... for() में उस 100 की गिनती को बदलने का प्रयास करें फंदा। 50 एक सुरक्षित विकल्प होना चाहिए।

इसके अलावा, FYI करें - affected_rows() यदि आप insert_batch() के माध्यम से 100 से अधिक पंक्तियाँ सम्मिलित कर रहे हैं, तो सही मान नहीं लौटाएगा , इसलिए इसे सफलता/त्रुटि जांच के रूप में उपयोग करना विश्वसनीय नहीं है। ऐसा इसलिए है क्योंकि insert_batch() एक बार में आपके डेटा को 100 रिकॉर्ड द्वारा सम्मिलित करता है, जबकि affected_rows() केवल अंतिम क्वेरी के लिए डेटा लौटाएगा।



  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 दो तालिका के दृश्य को जोड़ता है जिसमें विभिन्न प्रविष्टि रिकॉर्ड होते हैं

  2. PDO::FETCH_ASSOC सब कुछ नहीं ला रहा है

  3. कैसे तैयार बयान के साथ एक बार में एक mysql डेटाबेस में कई पंक्तियों को सम्मिलित करने के लिए?

  4. स्क्लाइट या माईएसक्ल? कैसे तय करें?

  5. अन्य मशीनों से MySQL से कनेक्ट करना