sql >> Database >  >> RDS >> Mysql

Toegestane geheugengrootte van 134217728 bytes uitgeput (geprobeerd 4294967296 bytes toe te wijzen)

Ik lees dit bugrapport hier:https://bugs.php.net/bug. php?id=51386

Uw probleem lijkt zich voor te doen omdat er een longblob . is of longtext in de kolommen van de tabel.

longtext / longblob hebben een maximale lengte van 4294967295 [4GB] daarom probeert mysqli dat geheugen toe te wijzen aan de buffer om er zeker van te zijn dat er niets verloren gaat. Ik raad je aan om mediumtext . te gebruiken (16777215 [16MB] max lengte), dat zou normaal gesproken genoeg moeten zijn voor alles.

Bijwerken: Omdat dit antwoord enige activiteit heeft gezien, voeg ik deze oplossing van Phil_1984 toe (zie opmerkingen)

=> Als u $stmt->store_result() . gebruikt je kunt mysqli gebruiken met longblob / longtext zonder de fout te krijgen.

-

Oud antwoord: Ik stel voor dat je de kolom in een ander type (mediumtext) verandert of PDO gebruikt (ik denk dat het dat probleem niet heeft). maar als je de kolom als longtext wilt behouden, moet je je mysql-bibliotheek omwisselen

Citaat van PHP Dev:



  1. Tips om SQL Server-database van de ene server naar de andere te verplaatsen - SQL-zelfstudie door Rajan Singh

  2. Shuffle een tabel in MySQL met een opgeslagen procedure

  3. MySQL ON UPDATE CURRENT_TIMESTAMP wordt niet bijgewerkt

  4. Hoe FIND_IN_SET te gebruiken met behulp van de lijst met gegevens