Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O MySQL pode verificar se o arquivo existe?


Eu faria uma consulta assim:
SELECT id, path, ISNULL(LOAD_FILE(path)) as not_exists
FROM images
HAVING not_exists = 1

A função LOAD_FILE tenta carregar o arquivo como uma string e retorna NULL quando falha.

Observe que uma falha neste caso pode ser devido ao fato de que o mysql simplesmente não pode ler esse local específico, mesmo se o arquivo realmente existir.

EDITAR:

Como @ostrokach apontou nos comentários, isso não é SQL padrão, embora o MySQL permita, seguir o padrão que poderia ser:
SELECT *
FROM images
WHERE LOAD_FILE(PATH) IS NULL