Hannes: ungewollte Datenbankeinträge

Hallo!

Ich habe folgendes Problem. In eine Tabelle meiner Datenbank sollen
mehrere Zeiten gespeichert werden. Es sind aber nicht von Beginn an
alle Zeiten bekannt, so dass diese nach und nach eingefügt werden.
Mein  Problem ist nun, das nach dem ersten Eintrag die restlichen
Felder mit "00:00:00" gefüllt. Wie kann ich dies unterbinden?

Vielen Dank!

  1. Hallo,
    man kann Spalten mit sogenannten NULL-Werten auffüllen. Für gewöhnlich passiert das bei INSERTs automatisch wenn man einfach keinen Wert für die entsprechende Spalte angibt. Solltest du das getan haben, dann scheint jemand die Tabelle so angelegt zu haben, dass immer ein Default-Wert angelegt wird. In dem Fall bleibt dir nicht viel übrig als damit zu leben, höchstens noch ein festes Datum einzutragen von dem du weißt, dass es ein Dummy ist und dieses dann bei der Ausgabe zu unterdrücken.

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Der Tipp mit den NULL Werten funktioniert prinzipiell. Allerdings habe ich noch Schwierigkeiten mit der Syntax des Insert Befehls. NULL darf nämlich nicht in Anfürungszeichen/Hochkomma stehen. Die anderen Werte müssen dies aber. Mein Insert Befehl sieht folgendermaßen aus:
      INSERT INTO tabelle (feld1, feld2, feld3) VALUES ('$feld1', '$feld2', '$feld3').
      Wenn ich jetzt der Variable $feld1 den Wert NULL zuweise, steht dieser allerdings im INSERT Syntax zwischen Hochkommazeichen. Dadurch wird der Wert "00:00:00" wieder eingefügt. Hat jemand eine Idee, wie ich erreichen kann, dass sobald die Variable eine gültige Zeit ist, diese in Hochkomma steht. Wenn ihr aber NULL zugewiesen wurde, dies nicht passiert?

      Danke!

      1. Hi,
        na ja, du könntest, weitere Verwendung der Variable ausgeschlossen, die ' mit auf die Variable speichern, so etwa nach dem Motto:
        $feld1 = ($feld1 != "") ? "'".$feld1."'" : "null";

        Ich meine das sollte den gewünschten Effekt haben...

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  2. yo,

    Mein  Problem ist nun, das nach dem ersten Eintrag die restlichen
    Felder mit "00:00:00" gefüllt. Wie kann ich dies unterbinden?

    mysql übernimmt standardmäßig den 00:00:00 wert, zum beispiel bei einem fehlerhaften zeitformat. insofern kann ich mir gut vorstellen, dass dieser wert auch bei nichtangabe übernommen wird, quasi ein standard-wert. ob überhaupt NULL werte dort zulässig sind, kann ich nicht sagen, einfach ausprobieren.

    Ilja