Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] [MySQL] Update nur wenn höher als 0

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] [MySQL] Update nur wenn höher als 0

    Guten Abend zusammen,
    Ich habe eine kurze Frage:
    Gibt es die möglichkeit in MySQL ne Abfrage zu machen das er nur das Update der Werte ausführen soll wenn der Wert (in meinem Fall daysleft) höher als 0 ist.? Also zum Beispiel mit where oder so?

    Gibt es da ne möglichkeit?
    Bitte um hilfe.

  • #2
    Das sollte Basiswissen sein ...

    Klick hier.

    Kommentar


    • #3
      Habe ich noch nie gemacht und kriegs auch nicht hin.
      Dann könntest du es mir doch bestimmt veraten oder nich?
      Ich habs schon mit where versucht.
      Aber weiß nicht was ich nach dem where einbauen soll..

      Kommentar


      • #4
        Denk mathematisch.

        Vorraussetzung soll ja sein: x > 0

        Kommentar


        • #5
          Darf man davon ausgehen, daß Du zumindest eine UPDATE-Anweisung schonmal aufgebaut hast?
          Wie sieht Dein Versuch bisher denn aus?

          Kommentar


          • #6
            Die Mysql Query ist zurzeit folgende:
            mysql_query("UPDATE users SET daysleft = `daysleft`-1 WHERE daysleft='0'");

            Kommentar


            • #7
              Zunächst handelt es sich bei daysleft hoffentlich um den Datentyp INT.
              Dann haben die Quotes da nichts zu suchen.
              Und dann hat Capfly eben gepostet, welches Zeichen Du ersetzen mußt, damit es funktioniert...

              Kommentar


              • #8
                Hallo Henrik,

                ja, die gibt es. Wenn wir wüssten, ob du deine days left als Integer oder als Date oder als was auch immer gespeichert hast, dann könnte man sicher auch weiter drauf eingehen.

                Und ja, du kannst eben mit der WHERE-Clause abfragen WHERE DAYS_LEFT > 0 (wobei DAYS_LEFT auch durch eine Berechnung ersetzt werden kann).

                Grüße,

                Dirk

                Kommentar


                • #9
                  Ja. Es handelt es sich um den Typ INT.
                  Aber wie muss ich es dann einbauen?
                  So geht es ja nicht:
                  PHP-Code:
                  mysql_query("UPDATE users SET daysleft = daysleft-1 WHERE daysleft='>0'"); 

                  Kommentar


                  • #10
                    Entschuldige bitte, aber lesen kannst Du doch oder???
                    Zitat von Arne Drews
                    Zunächst handelt es sich bei daysleft hoffentlich um den Datentyp INT.
                    Dann haben die Quotes da nichts zu suchen.
                    Und dann hat Capfly eben gepostet, welches Zeichen Du ersetzen mußt, damit es funktioniert...
                    mit Quotes sind übrigens die Hochkomma gemeint, falls Dir das nicht geläufig ist...

                    Kommentar


                    • #11
                      Hallo Dirk,
                      Ich hab eben den Beitrag nicht gesehen weil ich mittem im Schreiben war.
                      Vielen Dank für dein Beispiel mit der Where Clause.
                      Klappt jetzt! Vielen Dank!

                      Grüße,
                      Henrik.

                      Kommentar


                      • #12
                        Wie kann man sich nur sowas von b anstellen?

                        PHP-Code:
                        mysql_query("UPDATE `users` SET `daysleft` = (`daysleft` - 1) WHERE `daysleft` > 0;"); 

                        Kommentar


                        • #13
                          War erst wieder jemand nötig, der die WHERE-Klausel fertig liefert...
                          Steht übrigens exakt so in der Doku...

                          Kommentar


                          • #14
                            Lies dir am besten nochmal das hier durch, von A bis Z:

                            MySQL

                            Und, dass deine PHP-Kenntnisse fortgeschritten sind, mag ich bezweifeln, steht hier aber nun nicht zur Debatte.

                            Kommentar


                            • #15
                              [OT]Och gott ja, das ist mir gar nicht aufgefallen. Denn stell ich das auch gleich mal um... [/OT]

                              Kommentar

                              Lädt...
                              X