Guma: MySQL 4.0 -> Alle Preise in der DB um 1 EUR erhöhen

Hallo Zusammen,
ich versuche gerade die Preise eines Shops global über MySql im PHPmYAdmin zu ändern:

UPDATE store SET preis = preis + 1;

Das würde so auch prima funktionieren, wenn meine Preise nicht mit mit einem Komma getrennt wären.

19,90 statt 19.90

Ja ich bekomme jetzt 20 statt 20,90 raus.
Wie kann ich denn vorgehen? Leider sind die preise so schon in der DB drin.

Ich freue mich über eure Mithilfe in dieser Sache. Grüße Guma

  1. Hallo,
    eine Frage, warum verwendest du scheinbar ein varchar Feld statt eines float-Feldes?

    Denn bei float sollte das Problem klappen.

    MFG

    1. Danke für die Antworten, ich nutze jetzt float (3,2) nur leider ändert es mir alle Preise in Punktgetrennte: 19.90
      kann ich das komma bei der änderung denn nicht beibehalten?!

      Guüße Guma

      1. Moin!

        Danke für die Antworten, ich nutze jetzt float (3,2) nur leider ändert es mir alle Preise in Punktgetrennte: 19.90
        kann ich das komma bei der änderung denn nicht beibehalten?!

        Ausgabeformatierung.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Ausgabeformatierung

          Hallo Sven Rautenberg, wo stelle ich die denn ein?

          guma

          1. Moin!

            Ausgabeformatierung

            Hallo Sven Rautenberg, wo stelle ich die denn ein?

            Es gibt tausend Möglichkeiten an diversen Stellen. Wo das am schlauesten ist, sagt dir dein eigener Verstand, der dein System kennt.

            Ansatzpunkte: Formatierung im SQL, Formatierung in der Skriptsprache, Formatierung in der Template-Engine,...
             - Sven Rautenberg

            --
            "Love your nation - respect the others."
        2. Hallo,

          ist float(3, 2) nicht etwas klein?  Das ergäbe gerade mal

          -9.99 bis 9.99

          ... wenn ich richtig über MySQL informaiert bin.

          Ciao, Frank

    2. Hello,

      eine Frage, warum verwendest du scheinbar ein varchar Feld statt eines float-Feldes?

      Für Preise verwendet man kein Float, sondern Decimal!

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  2. Mahlzeit,

    Das würde so auch prima funktionieren, wenn meine Preise nicht mit mit einem Komma getrennt wären.

    19,90 statt 19.90

    Ja ich bekomme jetzt 20 statt 20,90 raus.
    Wie kann ich denn vorgehen? Leider sind die preise so schon in der DB drin.

    Um welchen Feldtyp handelt es sich? Sinnvollerweise sollte es ja ein numerischer Typ mit Nachkommastellen sein (und kein VARCHAR oder ähnlich Unpassendes) ...

    MfG,
    EKKi

  3. Hello,

    füge eine weitere Spalte vom Ty Decimal in die Tabelle ein, in die Du die alten Preise überträgst.
    Beim Übertragen aus der Textspalte in die Decimal-Spalte mit update kannst Du auch das Dezimalzeichen richtigstellen.

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)