sql >> Database >  >> RDS >> Mysql

BLOb:kan niet alle gegevens lezen, maar weinig kb

Je programma is correct. Als de bestandsgrootte klein is, werkt het prima. Als u BLOB . gebruikt datatype om die binaire gegevens op te slaan, verander het in LONGBLOB . Want als je probeerde een bestand op te slaan in BLOB gegevensveld, en als de bestandsgrootte groter is dan de maximaal toegestane grootte van het BLOB-gegevenstype, wordt de inhoud afgekapt en verliest u wat inhoud van het bestand (afhankelijk van de bestandsgrootte). Zelfs als u LONGBLOB . gebruikt datatype zijn er enkele dingen die u moet controleren. Ik zal het uitleggen

Op de mysql-website kunnen we zien dat de maximale bestandsgrootte van LONGBLOB bedraagt ​​4GB. Maar het hangt van veel dingen af. Om grote bestanden op te slaan moet je een aantal dingen controleren. Het eerste is in my.ini bestand, is er een eigenschap genaamd max_allowed_packet , specificeert het het grootst mogelijke pakket dat kan worden verzonden van of naar een mysql-client of -server. U moet max_allowed_packet . instellen eigendom naar een hogere waarde. En herstart mysql. Sommige bestandssystemen staan ​​geen bestanden van 4 GB toe. In dat geval kun je niet zoveel grote bestanden laden.

Ik denk dat in jouw geval max_allowed_packet eigenschap naar een hogere waarde zal het probleem oplossen.

Ik denk dat je het volgende script voor het maken van tabellen kunt gebruiken

CREATE TABLE `image` (
    `id` INT(10) NULL DEFAULT NULL,
    `fs` LONGBLOB NULL,
    `filen` VARCHAR(50) NULL DEFAULT NULL
)


  1. Dynamisch afhankelijke vervolgkeuzelijst met jQuery-select2

  2. PHP-instructie Moet meerdere objecten retourneren, maar retourneert slechts één

  3. Python Login Multi-oplossing

  4. Efficiënt samenvoegen met een gecorreleerde subquery