2012-03-15 13 views

Respuesta

1

No es posible hacerlo directamente en MySQL. Pero puede intentar agregar una parte de fecha y hora en el nombre del archivo, luego combinar algunos archivos en uno nuevo con un 'cat' (comando UNIX) o 'tipo' (comando DOS).

Ayuda: cat (Unix)

+0

El enlace es malo, probablemente quiera eliminar o actualizar. –

+0

Gracias. El enlace ha cambiado – Devart

5

No se puede hacer eso con SELECT INTO OUTFILE. Ese comando solo crea nuevos archivos y fallará si el archivo ya existe.

Puede anexar salida de consulta a un archivo existente usando el comando TEE en el cliente MySQL.

Aquí está tu ejemplo añadiendo dos resultados de la consulta en el mismo archivo usando TEE:

TEE ~/TestInput/Results.csv 

SELECT * 
FROM Results; 

SELECT * 
FROM Results; 

NOTEE 
+0

¿Cómo puedo envolver eso en un procedimiento almacenado y verificar si el archivo existe primero (antes de usar TEE)? – stackoverflow

+1

Si desea comprobar si el archivo existe primero, debe hacerlo en un lenguaje de scripts (python, bash, perl, etc.), no en un procedimiento almacenado. –

4

Puede combinar los resultados y escribir al mismo tiempo. TEE registrará todo lo que podría no ser deseable. En su caso:

SELECT * FROM Results UNION 
SELECT * FROM Results INTO OUTFILE '~/TestInput/Results.csv'; 
Cuestiones relacionadas