sql >> Databasteknik >  >> RDS >> Mysql

BLOb:kan inte läsa all data, men några kb

Ditt program är korrekt. Om filstorleken är liten kommer det att fungera bra. Om du använder BLOB datatyp för att lagra den binära datan, ändra den till LONGBLOB . För om du försökte spara en fil i BLOB datafält, och om filstorleken är större än den högsta tillåtna storleken på BLOB-datatypen kommer innehållet att trunkeras och du kommer att förlora en del innehåll i filen (beror på filstorleken). Även om du använder LONGBLOB datatyp det finns några saker du måste kontrollera. Jag ska förklara

På mysql-webbplatsen kan vi se den maximala filstorleken LONGBLOB är 4GB. Men det beror på många saker. För att lagra stora filer måste du kontrollera vissa saker. Det första är i my.ini fil, det finns en egenskap som heter max_allowed_packet , specificerar det största möjliga paket som kan överföras till eller från en mysql-klient eller -server. Du bör ställa in max_allowed_packet fastighet till ett högre värde. Och starta om mysql. Vissa filsystem tillåter inte 4GB-filer. I så fall kan du inte ladda så mycket stor fil.

Jag tror i ditt fall inställningen max_allowed_packet fastighet till ett högre värde kommer att lösa problemet.

Jag tror att du kan använda följande skript för att skapa tabeller

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


  1. IGNORE_DUP_KEY långsammare på klustrade index

  2. Fel när en procedur mysql CRUD skapades

  3. mysql välj uppdatering

  4. Gå med för att visa specifik data i frågebyggaren laravel