2009-07-02 5 views
1

Est-il possible de faire en sorte que l'instruction OUTFILE dans un fichier .sql pointe sur le chemin du répertoire de travail en cours du fichier .sql lui-même, sans spécifier manuellement un chemin absolu? Comme c'est le cas maintenant, l'emplacement par défaut est le répertoire de données du schéma avec lequel je travaille (c'est-à-dire C: \ progra ~ 1 \ mysql \ etc \ etc).Mysql outfile au répertoire de travail actuel?

Merci!

Répondre

0

Semble que le script serait votre meilleur pari sur ceci. Utiliser Perl ou PHP pour générer la requête avec le fichier out dans cwd.

-1

Non directement, mais vous pouvez obtenir des fonctionnalités similaires en utilisant mysql sur la ligne de commande.

un bref rappel historique: la déclaration LOAD DATA INFILE a une variante LOCAL, LOAD LOCAL DATA INFILE, qui vous permet de lire données à partir d'un fichier sur votre système de fichiers local; sans LOCAL il lit à partir de l'emplacement spécifié sur le serveur.

Malheureusement, la déclaration SELECT INTO OUTFILEtoujours écrit à l'emplacement spécifié sur le système de fichiers du serveur (qui peut inclure supports configurés serveur tels que partages NFS ou CIFS); il n'y a pas d'équivalent LOCAL.

Cependant, vous pouvez rapprocher cette fonctionnalité en utilisant le client mysql en en mode batch:

mysql -e 'SELECT * FROM db1.tbl1' -B > output.tsv 

L'option -B provoque l'instruction à exécuter en mode batch, de sorte que les résultats de la requête sont imprimés dans un onglet -délimité, sans frontières. En utilisant > somefile.txt vous permet de rediriger cette sortie vers le fichier spécifié, de sorte que vous avez quelque chose d'équivalent à ce que vous voulez, sans les options FIELDS ou LINES de SELECT INTO OUTFILE, mais assez proche!

+0

OUTFILE chemin d'accès sur le serveur mysql peut être exporté et monté comme chemin de fichier local en utilisant le schéma approprié comme NFS/CIFS etc –

+0

Cela n'aide pas la question de l'OP, mais j'ai mis à jour ma réponse pour inclure ce point, merci toi. –

Questions connexes