Announcement

Collapse
No announcement yet.

Tabelle in File mit Datum exportieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tabelle in File mit Datum exportieren

    Hallo,
    Ich würde gerne eine Tabelle mit SQL exportieren. Der Inhalt soll in eine Text-Datei importiert werden.

    Code:
    SELECT 'xxxxx'
    INTO OUTFILE 'C:/temp/x.txt'
    Jedoch würde ich gerne der txt-Datei noch das aktuelle Datum anhängen, damit die Datei x_20130829.txt erstellt wird.

    Ich habe mir folgendes ausgedacht:
    Code:
    SET @dt = CURDATE()+0;
    SELECT 'xxxxx'
    INTO OUTFILE 'C:/temp/x******.txt'
    Irgendwie müsste man den Parameter @dt bei **** so anfügen, dass die Syntax stimmt. Ich wäre um jeden Hinweis froh.
    Besten Dank
    giordano
    Zuletzt editiert von giordano; 03.09.2013, 11:02.

  • #2
    Suchst Du DATEFORMAT?
    PHP rocks!
    Eine Initiative der PHP Community

    Comment


    • #3
      Nicht direkt. @dt gibt mir direkt das korrekte Format. Ich dachte an so etwas:
      Code:
      SET @dt = CURDATE()+0;
      SELECT 'xxxxx'
      INTO OUTFILE CONCAT('C:/temp/x_',@dt,'.txt')
      Und das gibt eine Fehlermeldung (Syntaxfehler).

      Comment


      • #4
        Und wenn Du das so schreibst:
        Code:
        SET @dt = CONCAT('C:/temp/x_', CURDATE(), '.txt');
        SELECT 'xxxxxxxx' INTO OUTFILE @dt;
        PHP rocks!
        Eine Initiative der PHP Community

        Comment


        • #5
          Danke Arne, aber das funktioniert leider auch nicht. Nach langer Suche habe ich eine Lösung gefunden:
          http://stackoverflow.com/questions/2...-field-names-a

          Code:
          SET @dt = CONCAT('C:/temp/x_', CURDATE(), '.txt');
          SET @query = CONCAT("SELECT 'xxxxxxxx' INTO OUTFILE '",@dt,"'");
          SELECT @query;
          PREPARE stmt FROM @query;
          EXECUTE stmt;
          Jedoch leuchtet mir nicht ein, warum das funktioniert. Wenn ich Deinen Vorschlag noch korrigiere zu:
          Code:
          SET @dt = CONCAT(",",'C:/temp/x_', CURDATE(), '.txt',"'");
          funktioniert es immer noch nicht. Offenbar funktionieren Parameter nicht bei einigen Statement (INTO OUTFILE). Deshalb muss der ganze Code verpackt werden in eine Variable, aufgearbeitet (PREPARE) und ausgeführt.
          Gruss
          giordano

          Comment

          Working...
          X