Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

insert_batch() Codeigniter dengan ribuan sisipan memiliki catatan yang hilang

insert_batch() mencoba untuk menghindari masalah Anda - mencoba memasukkan data yang lebih besar dari MySQL yang dikonfigurasi untuk diproses pada suatu waktu. Saya tidak yakin apakah opsi MySQL untuk itu adalah max_allowed_packet atau yang lainnya, tetapi masalahnya adalah ia menetapkan batas dalam byte dan bukan jumlah baris.

Jika Anda akan mengedit DB_active_rec.php, mysql_driver.php atau apa pun yang sesuai ... coba ubah 100 hitungan itu di for() lingkaran. 50 seharusnya menjadi pilihan yang lebih aman.

Selain itu, FYI - affected_rows() tidak akan mengembalikan nilai yang benar jika Anda memasukkan lebih dari 100 baris melalui insert_batch() , jadi tidak dapat diandalkan untuk menggunakannya sebagai pemeriksaan sukses/kesalahan. Itu karena insert_batch() menyisipkan data Anda sebanyak 100 catatan sekaligus, sementara affected_rows() hanya akan mengembalikan data untuk kueri terakhir.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Beralih dari JsonStringType ke JsonBinaryType saat proyek menggunakan MySQL dan PostgreSQL

  2. bagaimana cara bekerja dengan data dinamis dan grafik google?

  3. jika tidak ada masukkan di MySql

  4. Bagaimana cara menampilkan nomor urut dalam hasil kueri MySQL

  5. MySQL menghitung tanggal berturut-turut untuk rentetan saat ini