Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Werte bei allen Produkten via phpMyAdmin ändern

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von CrAzYLuKe, 11 April 2012.

  1. CrAzYLuKe

    CrAzYLuKe Neuer Benutzer

    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
    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]


    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
     
  2. Walter

    Walter Administrator Mitarbeiter

    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.
     
    PLSQL_SQL gefällt das.
  3. CrAzYLuKe

    CrAzYLuKe Neuer Benutzer

    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
     
  4. Walter

    Walter Administrator Mitarbeiter

    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).
     
    PLSQL_SQL und ukulele gefällt das.
  5. CrAzYLuKe

    CrAzYLuKe Neuer Benutzer

    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
     
  6. ukulele

    ukulele Datenbank-Guru

    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.
     
    PLSQL_SQL gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden