Ankündigung

Einklappen
Keine Ankündigung bisher.

Subtraktion in MySQL >>> nicht durchführen bei neg.

Einklappen

Neue Werbung 2019

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

  • Subtraktion in MySQL >>> nicht durchführen bei neg.

    Hallo,

    ich habe mir zum testen eine kleine Tabelle [mytab] erstellt mit den Datenfeldern:

    id = int(5);
    geld = double [Attribut: UNSIGNED]

    nun möchte ich von meinem Geld etwas abziehen (abstrakt aber wahr ). Dafür schreibe ich:

    Code:
    UPDATE mytab SET geld = geld - '200' WHERE id = 1
    Soweit gibt es keine Probleme. Jetzt kommt aber das Problem, dass ich keine Schulden haben möchte (deswegen bei geld das Attribut UNSIGNED). Und ich kann ja nicht mehr ausgeben als ich habe...

    Wenn ich also 150 habe und 200 abziehe kommt hier 0 heraus. Kann ich MySQL aber sagen, dass er die Abfrage nicht ausführen bzw. einen Fehler ausgeben soll, wenn das Ergebnis kleiner null wäre (geht ja offiziell nicht -> aus negativen Werten wird ja null)??? Und das möglichst ohne vorher irgendwelche Abfragen durchzuführen!?


    Grüße,
    Vampire's Party

    PS: der Summand ist variabel...
    Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit (Mark Twain).


  • #2
    Code:
    UPDATE mytab SET geld = geld - 200 WHERE id = 1 AND geld >= 200

    Kommentar


    • #3
      Danke, klappt ohne Probleme...

      ... nur noch eine Kleinigkeit: wie bekomme ich jetzt heraus, ob etwas verändert wurde (also eine Rückgabe; führe die MySQL-Befehle mittels PHP aus)
      Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit (Mark Twain).

      Kommentar


      • #4
        http://de2.php.net/mysql_affected_rows

        Kommentar

        Lädt...
        X