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șteLOAD DATA LOCAL INFILE.
Comenzi înrudite
TO_BASE64() și FROM_BASE64(): Codează un text în Base64 și îl decodează înapoi.LENGTH(): Returnează lungimea unui text în octeți (bytes), nu în caractere.