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

Ukuran memori yang diizinkan 134217728 byte habis (mencoba mengalokasikan 4294967296 byte)

Saya membaca laporan bug ini di sini:https://bugs.php.net/bug. php?id=51386

Masalah Anda tampaknya terjadi karena ada longblob atau longtext di kolom tabel.

longtext / longblob memiliki panjang maksimum 4294967295 [4GB] itu sebabnya mysqli mencoba mengalokasikan memori itu untuk buffer untuk memastikan tidak ada yang hilang. Saya sarankan Anda menggunakan mediumtext (16777215 [panjang maksimum 16MB]), biasanya itu cukup untuk semuanya.

Pembaruan: Karena jawaban ini telah melihat beberapa aktivitas, saya menambahkan solusi ini dari Phil_1984 (lihat komentar)

=> Jika Anda menggunakan $stmt->store_result() anda dapat menggunakan mysqli dengan longblob / longtext tanpa mendapatkan kesalahan.

-

Jawaban Lama: Saya sarankan Anda mengubah kolom ke jenis lain (teks menengah) atau menggunakan PDO (saya pikir itu tidak memiliki masalah). tetapi jika Anda ingin menyimpan kolom sebagai teks panjang, Anda harus mengganti perpustakaan mysql Anda

Kutipan dari PHP Dev:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendeteksi kebuntuan di Mysql / innodb?

  2. Menginstal dan Mengonfigurasi MySQL di Ubuntu 20.04

  3. Peringatan PHP:PHP Startup:Tidak dapat memuat perpustakaan dinamis 'pdo_mysql.so'

  4. Bagaimana cara membandingkan tanggal di sqlalchemy?

  5. Membuat Array Bersarang Multidimensi dari Hasil MySQL dengan Nilai Duplikat (PHP)