Il manuale afferma quanto segue:
LOAD_FILE(nome_file)
Legge il file e restituisce il contenuto del file come stringa. Per utilizzare questa funzione, il file deve trovarsi sull'host del server, è necessario specificare il percorso completo del file e disporre del privilegio FILE. Il file deve essere leggibile da tutti e la sua dimensione inferiore ai byte max_allowed_packet. Se la variabile di sistema secure_file_priv è impostata su un nome di directory non vuoto, il file da caricare deve trovarsi in quella directory.
Se il file non esiste o non può essere letto perché una delle condizioni precedenti non è soddisfatta, la funzione restituisce NULL.
A partire da MySQL 5.0.19, la variabile di sistema character_set_filesystem controlla l'interpretazione dei nomi di file che sono dati come stringhe letterali.
mysql> UPDATE t
SET blob_col=LOAD_FILE('/tmp/picture')
WHERE id=1;
Da questo, vedo più di una cosa che potrebbe essere sbagliata nel tuo caso...
- stai superando l'intero percorso?
- I privilegi sono impostati correttamente?
- cosa restituisce la funzione? NULLA?
- l'hai provato con la query data nel manuale?