Daniela T.: SQL: Wert + 1

Hallo,

ich möchte einen Counter bauen, welcher auf einer MySql Datenbank basiert.

die Datenbank hat eine Tabelle mit einer Spalte, ich welcher die Anzahl der Seitenaufrufe drinsteht.

Gibt es eine SQL Befehl, welcher folgendes macht:

aktueller Wert + 1 ?

also so in etwa:

UPDATE counter SET wert='wert + 1'

gibt es sowas?

oder wie würdet Ihr es lösen?

den aktuellen Wert auslesen und dann mittels PHP eins addieren und dann den Datensatz updaten erscheint mir etwas umständlich.

Vielen Dank

Dani

  1. Hallo,

    Hallo

    den aktuellen Wert auslesen und dann mittels PHP eins addieren und dann den Datensatz updaten erscheint mir etwas umständlich.

    Warum?
    $COUNTER++;
    $update=mysql_query("UPDATE counter SET zahl='$COUNTER'");

    Vielen Dank

    Dani

    Gruß Christoph

    --
    Ich bin ein spezialisz!
    (Zitat von VENGA JO)
    sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
    1. Moin Moin !

      $COUNTER++;
      $update=mysql_query("UPDATE counter SET zahl='$COUNTER'");

      Die Quotes um $COUNTER sind über.

      Und dieser Ansatz kommt nicht mit parallelen Zugriffen zurecht. Die Ursprungsidee war schon richtig, nur die Quotes waren zu viel.

      UPDATE counter SET zahl=zahl+1

      und auslesen mit

      SELECT zahl FROM counter

      (Bleibt die Frage, warum eine Tabelle nur einen Wert speichern soll.)

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
      Für eine bessere Übersichtsdarstellung des Forums: http://cforum.teamone.de/phpbt/bug.php?op=show&bugid=103&pos=2
      1. Die Quotes um $COUNTER sind über.

        Vielen Dank! So hab ichs nun gelöst.

    2. Hallo

      Warum?
      $COUNTER++;
      $update=mysql_query("UPDATE counter SET zahl='$COUNTER'");

      Würde dir hier noch empfehlen anzugeben wo er das Updaten soll, also
      $update=mysql_query("UPDATE counter SET zahl='$counter' WHERE ID=1");
      gruss Danushka