Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak użyć LOAD_FILE do załadowania pliku do obiektu BLOB MySQL?

podręcznik stwierdza co następuje:

LOAD_FILE(nazwa_pliku)

Odczytuje plik i zwraca zawartość pliku jako ciąg. Aby skorzystać z tej funkcji, plik musi znajdować się na hoście serwera, należy podać pełną ścieżkę do pliku oraz mieć uprawnienie FILEprivilege. Plik musi być czytelny dla wszystkich, a jego rozmiar mniejszy niż max_allowed_packet bajtów. Jeśli zmienna systemowa secure_file_priv jest ustawiona na niepustą nazwę katalogu, plik do załadowania musi znajdować się w tym katalogu.

Jeśli plik nie istnieje lub nie można go odczytać, ponieważ jeden z poprzedzających warunków nie jest spełniony, funkcja zwraca NULL.

Począwszy od MySQL 5.0.19, zmienna systemowa character_set_filesystem kontroluje interpretację nazw plików podanych jako ciągi literowe.

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

Z tego widzę więcej niż jedną rzecz, która może być nie tak w twoim przypadku...

  • czy przechodzisz pełną ścieżkę?
  • czy uprawnienia są ustawione poprawnie?
  • co zwraca funkcja? NULL?
  • Czy próbowałeś tego z zapytaniem podanym w instrukcji?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Naruszenie ograniczenia integralności:1452 Nie można dodać ani zaktualizować wiersza podrzędnego:

  2. Sparametryzowane zapytanie dla MySQL z C#

  3. Kolumna zmiany nazwy MySQL

  4. SQL DELETE z JOIN inną tabelą dla warunku WHERE

  5. Zmusić InnoDB do ponownego sprawdzenia kluczy obcych w tabeli/tabelach?