Werte bei allen Produkten via phpMyAdmin ändern

CrAzYLuKe

Neuer Benutzer
Beiträge
3
Hallo zusammen,

ich habe mich etwas mit unserer Datenbank beschäftigt, weil unser Dienstleister nicht verfügbar war und etwas verändert werden musste. Alles in allem kein Hexenwerk um Spalten innerhalb der Produktbeschreibung von xtCommerce zu ergänzen. Auch habe ich es hinbekommen die Werte auf ein Standardwert zu setzen, damit nicht jeder Wert manuell via DB Eintag oder Backend geändert werden muss.

Nun gibt es aber eine Änderung die global verändert werden muss, sprich als neuer Standardwert und nachträglich bei allen Produkten angwendet.

Ich beschreibe mal wo sich die Werte befinden:
Nach erfolgreichem Login in die "db123456-Name (102)" klicke ich links in der Liste auf "xt_products". Dort kann oben die Spalten (products_id, external_id, permission_id etc.) der einzelnen Produkte sehen und nach diesen sortieren. Klicke ich nun auf Struktur, sehe ich die Spalten Struktur. Das sieht folgendermaßen aus:


Feld
products_tax_class_id
Typ
int(11)
Null
Nein
Standard
1

Aktion
b_browse.png


b_edit.png


b_drop.png


b_primary.png


b_unique.png


b_index.png


bd_ftext.png



Möchten Sie wirklich diese Abfrage ausführen:
ALTER TABLE `xt_products` DROP PRIMARY KEY, ADD PRIMARY KEY(`products_tax_class_id`)

Nun weiß ich nicht ob das die richtige Maßnahme ist. Aus diesem Link http://dev.mysql.com/doc/refman/5.1/de/alter-database.html wurde ich auch nicht 100%ig schlau bzw. traue ich mich nicht dran.


Danke im Voraus und LG
Luke
 
Werbung:
Der genannte Befehl löscht den existierenden Primary Key und legt dann einen neuen an.

Du hast uns aber nicht verraten, was Du eigentlich tun möchtest - wie soll man Dir dann sagen, ob es richtig ist, was Du tust? :)
Aber ich bezweifle, ob Du das wirklich tun möchtest.
 
Hey Walter,

löschen mag ich da nichts :-) Einfach nur den Wert global ändern. Sprich überall bei "products_tax_class_id" den Wert auf 1 setzen, damit jedes Produkt 19% anzeigt und bei den Versandkosten ebenfalls einen Wert ändern, damit überall die Versandkosten inkl. sind :-)

LG
Luke
 
Werte ändern geht mit folgendem SQL-Befehl:

UPDATE tabellenname SET spaltenname = neuerwert;

Damit stellst Du in der gesamten Tabelle "tabellenname" in der Spalte "spaltenname" den Wert auf "neuerwert" um.

Ich hoffe, Du machst wenigstens vorher eine Datensicherung und überlegst Dir vorher nochmal reiflich, ob Du weisst was Du tust - ich hab so meine Zweifel (nicht böse gemeint).
 
Hi Walter,

ich denke, dass das kein großes Problem darstellt und ich mir sicher bin, dass ich lediglich den Befehl:

UPDATE `xt_products` SET `products_shipping_costs_free` = 1;

ausführen möchte. Unter BEARBEITEN habe ich die Konsole für die Befehle gefunden. Es war vorher bereits

SELECT * FROM `xt_products`

vorhanden. Sind die `bla` Striche oben notwendig oder nur nett zum Ausklammern zwecks Übersicht?


Nach einem Backup gucke ich gleich mal im Backend von Hosteurope.

LG und vielen Dank!
Luke
 
Werbung:
Eigentlich sollten die Striche nicht oder nicht immer notwendig sein, manchmal aber schon (z.B. wenn Leerzeichen in Spaltennamen stecken oder die Tabellen- / Spaltennamen einer Funktion oder einen Befehl gleichen).

Wenn du einen Standardwert eintragen möchtest (z.B. shipping_Costs_free = 1) ist eventuell eine WHERE Klausel sinnvoll. Wenn die Spalte mehr als 2 Werte haben kann und immer 0 ist wenn sie nicht gesetzt wurde aber auch 2 oder 3 als Wert haben kann (eventuell durch den Nutzer schon eingetragen) dann solltest du durch WHERE products_shipping_Costs_free = 0 nur die Datensätze anfassen, die noch keinen sinnvollen Wert aufweisen.
 
Zurück
Oben