sql >> Database teknologi >  >> RDS >> Mysql

Hvordan bruger man LOAD_FILE til at indlæse en fil i en MySQL-blob?

manualen står følgende:

LOAD_FILE(filnavn)

Læser filen og returnerer filindholdet som en streng. For at bruge denne funktion skal filen være placeret på serverværten, du skal angive det fulde stinavn til filen, og du skal have FILEprivilegiet. Filen skal kunne læses af alle og dens størrelse skal være mindre end max_allowed_packet bytes. Hvis systemvariablen secure_file_priv er sat til et ikke-tomt biblioteksnavn, skal filen, der skal indlæses, placeres i den mappe.

Hvis filen ikke eksisterer eller ikke kan læses, fordi en af ​​de foregående betingelser ikke er opfyldt, returnerer funktionen NULL.

Fra og med MySQL 5.0.19 styrer systemvariablen character_set_filesystem fortolkning af filnavne, der er angivet som literalstrings.

mysql> UPDATE t
            SET blob_col=LOAD_FILE('/tmp/picture')
            WHERE id=1;

Ud fra dette ser jeg mere end én ting, der kunne være forkert i dit tilfælde...

  • passerer du hele vejen?
  • er privilegier indstillet korrekt?
  • hvad returnerer funktionen? NULL?
  • har du prøvet det med forespørgslen i manualen?


  1. Hekaton med et twist:In-memory TVPs – Del 2

  2. Sådan bruger du Sum, Avg og Count i Select Statement - SQL Server / TSQL Tutorial Del 128

  3. Forhindrer denne kode SQL-injektion?

  4. Databasemodel for en køreskoles reservationssystem. Del 2