Avatar billede zac Nybegynder
24. oktober 2006 - 09:57 Der er 2 kommentarer og
1 løsning

Hvorfor virker Select into Outfile kun til nyt filnavn?

Virker fint:
SELECT * INTO OUTFILE 'C:/Programmer/xampp/mysql/data/dagbog.csv'
  FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"'
  LINES TERMINATED BY '\r\n'
  FROM dagbog

Men kun een gang, dvs. med samme filnavn - lykkes kun igen med nyt filnavn som fx dagbog2.csv.

Hvordan få den til at overskrive gl. fil?
Altså helst uden at lave php skript, som sletter gamle fil og/ eller giver output fil nyt navn hver gang.
Avatar billede erikjacobsen Ekspert
24. oktober 2006 - 10:34 #1
Du kan lave et php-script, der sletter den gamle fil ;)

Fra manualen: "The SELECT ... INTO OUTFILE 'file_name' form of SELECT writes the selected rows to a file. The file is created on the server host, so you must have the FILE privilege to use this syntax. file_name cannot be an existing file, which among other things prevents files such as /etc/passwd and database tables from being destroyed."
Avatar billede erikjacobsen Ekspert
24. oktober 2006 - 10:40 #2
Men ellers vil jeg normalt overveje at bruge mysqldump eller mysqlhotcopy til backup: http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html
Avatar billede zac Nybegynder
25. oktober 2006 - 09:34 #3
Tak for kommentaren, frygtede, at manualen betød det :-)
Laver et php-script!

Har endda fået denne her til at virke, måske af interesse for nogle; har ikke selv kunnet finde eksempler i den retning på nettet:

SELECT dagbog.* INTO OUTFILE 'C:/Programmer/xampp/mysql/data/dagbog.csv'
  FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"'
  LINES TERMINATED BY '\r\n'
  FROM dagbog, kursister WHERE dagbog.kursistnr = kursister.kursistnr" );
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester