sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo usar LOAD_FILE para cargar un archivo en un blob de MySQL?

El manual dice lo siguiente:

LOAD_FILE(nombre_archivo)

Lee el archivo y devuelve el contenido del archivo como una cadena. Para usar esta función, el archivo debe estar ubicado en el host del servidor, debe especificar el nombre completo de la ruta al archivo y debe tener el privilegio FILE. El archivo debe ser legible por todos y su tamaño debe ser inferior a max_allowed_packet bytes. Si la variable del sistema secure_file_priv se establece en un nombre de directorio no vacío, el archivo que se va a cargar debe estar ubicado en ese directorio.

Si el archivo no existe o no se puede leer porque no se cumple una de las condiciones anteriores, la función devuelve NULL.

A partir de MySQL 5.0.19, la variable del sistema character_set_filesystem controla la interpretación de los nombres de archivo que se dan como cadenas literales.

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

A partir de esto, veo más de una cosa que podría estar mal en tu caso...

  • ¿Está pasando por el camino completo?
  • ¿Los privilegios están configurados correctamente?
  • ¿Qué devuelve la función? ¿NULO?
  • ¿lo has probado con la consulta dada en el manual?