Kerstin R.: Updatee MySQL Tabelle

Beitrag lesen

Guten Abend,

  1. Daten sichern

Erledigt:
Tabelle d144e3f1.preise wurde nach d144e3f1.preise_SICHERUNG kopiert.

  1. Neues Feld hinzufügen

Erledigt:
alter_preis (varchar(50))

  1. UPDATE SET neues_Feld = preis WHERE wenn_notwendig

Erledigt:
UPDATE preise SET alter_preis = preis WHERE kategorie = 30

Nachfrage:
Über AND kann ich weitere Kategorien anhängen oder ist es besser, Kategorien auszuschließen, wenn dieses überhaupt möglich ist?

  1. UPDATE SET preis = preis * rabatt WHERE wenn_notwendig

Hier bin ich jetzt erst vorsichtiger und möchte gerne nochmals nachfragen:

PHP z.B. kann nur rechnen, wenn ich aus 7,56 7.56 mache. Dann kann ich um einen Rabatt von 20% zu geben mit 7.56*0.8 rechnen. Kann ich denn in der MySQL Datenbank mit einem , rechnen oder muss ich zuvor das Komme in einen Punkt ändern? Wenn ja, wie könnte ich dieses umsetzten und nach dem Update müsste ich dann aus dem Punkt wieder ein Komma machen. Ich weiß alles nicht perfekt aber einmal muss ich da wohl noch durch.

Na das ist mal ganz ungünstig. Preise sollten in Decimal-Feldern gespeichert werden, denn als Zeichenfolge kann man nur sehr schlecht mit ihnen rechnen.

Ich weiß. Vor ca. 5 Jahren war ich einfach noch nicht so weit. Damals habe ich alles als varchar gespeichert, bis auf die ID, diese hat int. Bin auch schon dabei dieses Projekt komplett neu aufzubauen, geht leider nicht von jetzt auf gleich, da ich Hauptberuflich noch einen anderen Job habe.

Das ist kein Preis, das ist ein String. 7.51 wäre ein Preis. Das Formatieren für die deutsche Schreibweise kann man in PHP vornehmen.

In der neuen Tabelle wird dieses in der Zukunft auch so sein.