Announcement

Collapse
No announcement yet.

Werte aktualisieren

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

  • Werte aktualisieren

    Hallo,

    ich hoffe ihr könnt mir weiterhelfen da ich von SQL nicht viel ahnung ahbe.

    Ich habe eine Tabelle sync in dieser gibt es nur eine spalte last_sync

    In dieser steht der Zeitwert 0000-00-00 00:00:00

    Ich möchte das dieser auf den aktuellen Datumswert aktualisiert wird und habe es mit

    update sync set last_sync='"2010-04-16 14:10:00"' versucht.

    Leider erfolglos.

    Könnt ihr mir weiterhelfen?

    Für den Zugang habe ich phpmy admin

    Danke

    Gruss de Cannor

  • #2
    Auch hallo,

    unter Beachtung von Wikibooks SQL - Update Befehl müsste die WHERE Bedingung noch eingearbeitet werden.
    Oder man arbeitet direkt mit PHPMyAdmin
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Hallo,

      ich habe die Abfrage jetzt erweitert eine Fehlermeldung kommt nicht aber der Wert wird nicht aktualisiert:

      update sync
      set last_sync='"2010-04-16 14:10:00"'
      where last_sync="0000-00-00 00:00:00"

      Kann das Problem sein das es ein Datum ist?

      Comment


      • #4
        Originally posted by CannorX View Post
        Kann das Problem sein das es ein Datum ist?
        In der Tat. Du brauchst den richtigen Datentyp und in der richtigen Schreibweise. Gerade bei Date/DateTime gibt es diverse Unterschiede zwischen den verschiedenen SQL-Dialekten.

        Eine Tabelle mit nur einer Spalte kommt mir auch sehr mysteriös vor. Wie willst du verschiedene Zeilen unterscheiden? Wo ist der PrimaryKey, der zu einer relationalen DB eigentlich zwangsläufig dazu gehört?

        Bei dir kommt noch die unterschiedliche Schreibweise hinzu: bei WHERE hast du nur die Gänsefüßchen, bei SET noch Hochkommata. Für so etwas sind Parameter praktisch unumgänglich.

        @Markus
        Es ist nett, dass du auf "meine" Einführung verweist. Allerdings ist WHERE in der Theorie nicht erforderlich, nur in der Praxis. Aber bei dieser seltsamen Tabelle...

        Gruß Jürgen

        Comment


        • #5
          Hallo,

          ich weiss auch nicht was sich der Entwickler der Datenbank dabei gedacht hat, leider kann ich ihn nicht mehr fragen.

          Die Tabele enthält wohlt nur einen Wert, der das Datum der letzten erfolgreichen Syncronistation speichert.

          Leider ist dieser jetzt auf 0000-00-00:00:00 gesetzt warum auch immer. Er sollte eigentlich das Datum von gestern enthalten wo wir das letzte mal Daten abgerufen haben.

          ich hab mir den Code des Sync Programms angeschaut und er überträgt alle Daten (Bestellungen) die nach diesen Datum erstellt wurden.

          Es geht hier um eine Onlineshop Software.

          Das heißt er versucht alle Bestellungen die seit 2007 eingegangen sind zu übertragen was dann mit timeout abricht.

          Würde die Software durchlaufen würde Sie danach dieses Datum neu Schreiben.

          Das ist der Auszug aus dem Code:
          ****
          $sync_date=date("Y-m-d H:i:s");
          mysql_query("update sync set last_sync='".$sync_date."'",$link);
          unlink("lock");
          echo "OK";
          ****

          Ich muss irgentwie in diese Tabelle einmal das aktuelle Datum einfügen damit die Software wieder läuft.

          So meine Theorie.


          Die Tabelle hat nur eine Spalte last_sync von daher müßte dies doch der Primary Key sein oder?

          Wenn ich auf Struktur gehe zeigt phpmy admin an:

          Feld last_sync
          Typ timestamp
          Kollation
          Attribute ON UPDATE CURRENT_TIMESTAMP
          Null Nein
          Standart CURRENT_TIMESTAMP

          Comment


          • #6
            Hallo,

            ich setze es nochmal nach oben.

            Hoffe Jemand kann mri weiterhelfen.

            Danke

            Comment


            • #7
              Hallo,
              Es ist eigentlich alles gesagt...
              Originally posted by Jürgen Thomas View Post
              ...bei WHERE hast du nur die Gänsefüßchen, bei SET noch Hochkommata.
              Also lass einfach die doppelten Hochkommas weg, die haben dort nichts zu suchen und stammen offensichtlich direkt aus dem PHP-Code.

              [highlight=sql]
              update sync
              set last_sync='2010-04-16 14:10:00'
              [/highlight]

              Gruß Falk
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment

              Working...
              X