sql >> Databáze >  >> RDS >> Mysql

Jak použít LOAD_FILE k načtení souboru do MySQL blob?

příručka uvádí následující:

LOAD_FILE(název_souboru)

Přečte soubor a vrátí obsah souboru jako řetězec. Chcete-li použít tuto funkci, musí být soubor umístěn na hostitelském serveru, musíte zadat úplnou cestu k souboru a musíte mít oprávnění FILE. Soubor musí být čitelný pro všechny a jeho velikost musí být menší než max_allowed_packet bajtů. Pokud je systémová proměnná secure_file_priv nastavena na neprázdný název adresáře, soubor, který se má načíst, musí být umístěn v tomto adresáři.

Pokud soubor neexistuje nebo jej nelze přečíst, protože není splněna jedna z předchozích podmínek, funkce vrátí hodnotu NULL.

Od MySQL 5.0.19 systémová proměnná character_set_filesystem řídí interpretaci názvů souborů, které jsou uvedeny jako literalstring.

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

Z toho vidím více než jednu věc, která by ve vašem případě mohla být špatně...

  • procházíte celou cestu?
  • jsou oprávnění nastavena správně?
  • co funkce vrací? NULL?
  • zkusili jste to pomocí dotazu uvedeného v příručce?


  1. Omezení SQL Server Express

  2. Jak funguje funkce TRIM() v MySQL

  3. Mysql:Objednat podle like?

  4. Zobrazit všechny dotazy přicházející do databáze Oracle