LOAD_FILE() în MySQL

Citește un fișier de pe serverul MySQL și îl returnează ca text; funcționează doar cu drepturi speciale.

Sintaxă
LOAD_FILE('/cale/catre/fisier')

Ce face LOAD_FILE()

LOAD_FILE() citește un fișier aflat pe serverul de baze de date, nu pe calculatorul tău. Ca să funcționeze, utilizatorul are nevoie de dreptul FILE, fișierul trebuie să fie citibil de procesul MySQL și să fie în directorul permis de variabila secure_file_priv.

Dacă una dintre condiții nu este îndeplinită, funcția nu dă eroare, ci returnează NULL. Pe multe servere funcția este dezactivată din motive de securitate.

Parametri

Parametru Descriere
cale Calea completă a fișierului pe server.

Ce returnează

Conținutul fișierului sau NULL.

Exemple

Exemplul 1: Verificarea setării secure_file_priv

SELECT @@secure_file_priv AS director_permis,
       LOAD_FILE('/etc/hosts') IS NULL AS returneaza_null;

Rezultat

+-----------------+-----------------+
| director_permis | returneaza_null |
+-----------------+-----------------+
| NULL            |               1 |
+-----------------+-----------------+

Exemplul 2: Încărcarea unui fișier într-o coloană (pe un server configurat)

UPDATE produse
SET descriere = LOAD_FILE('/var/lib/mysql-files/laptop.txt')
WHERE id = 1;

Rezultat în MySQL

Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Greșeli frecvente

  • Te aștepți să citești un fișier de pe calculatorul tău. LOAD_FILE() citește doar de pe serverul MySQL. Pentru importuri de pe client, folosește LOAD DATA LOCAL INFILE.

Comenzi înrudite