Manche Dinge lassen sich durch SQL-Befehle ganz leicht bewerkstelligen. Also habe ich mal die gesammelten Werke unserer User zusammengetragen. Ein ganz besonderer Dank geht an Kai Schölzke, der ganz viele Befehle zur Verfügung gestellt hat. Die entsprechenden Befehle (unten stehende Codes) werden hier eingeben: Adminbereich -> Toolbox -> SQL. Wichtig: Bevor SQL-Befehle ausgeführt werden, sollte unbedingt vorher eine Datenbanksicherung gemacht werden. Beim Kopieren des Codes darauf achten, dass keine unnötigen Leerzeichen gesetzt werden und dass evtl. Hochstriche richtig gesetzt sind. __________________________________________________________________________________________ SQL Befehle für den Adminbereich Folgende Befehle müssen über den Provider (phpMyAdmin) durchgeführt werden, da man nicht mehr in den Adminbereich kommt. Admin E-Mail Adresse vergessen Wenn man mal die Zugangs-Mail für den Adminbereich vergessen hat, lässt sich die E-Mail Adresse so ändern PHP: UPDATE customers SET customers_email_address='meine neue email-adresse' WHERE customers_id=1; Admin Passwort vergessen Auch das Passwort lässt sich wie folgt ersetzen: PHP: UPDATE customers SET customers_password=MD5('mein neues passwort') WHERE customers_id=1; Admin Passwort zurücksetzen Mit folgendem SQL-Befehl kann das Adminin-Passwort zurückgesetzt werden. Dieser SQL-Befehl setzt voraus, dass der Administrator gemäß der Standardkonfiguration die ID (customers_id) =1 trägt. Nach Ausführung des Befehls lautet das provisorische Passwort 1234567. PHP: UPDATE `customers` SET `customers_password` = 'fcea920f7412b5da7be0cf42b8c93759' WHERE `customers_id`=1; SQL Befehle für Kategorien Die Kategorie-ID finden: Im Adminbereich auf die jeweilige Kategorie klicken. In der Adresszeile des Browsers erscheint dann: /admin/categories.php?cPath=0&cID=140 Der Wert hinter cID ist die Kategorienummer. Artikelgewicht nach Kategorie ändern Hier wird in allen Artikeln der Kategorie mit der categorie_id "8" das gewicht auf "7" geändert. Die categorie_id findet man in der Datenbanktabelle categories_description. PHP: UPDATE products p LEFT JOIN products_to_categories ptc ON p.products_id=ptc.products_id SET p.products_weight = 7 WHERE ptc.categories_id=8 Aktive Kategorien mit inaktiven Produkten anzeigen Bei vielen Kategorien verliert man häufig die Übersicht, ob sich innerhalb einer Kategorie noch aktive Produkte befinden. Folgender Befehl hilft dabei, die besagten Kategorien aufzulisten: PHP: select categories_name, products_name, group_concat(" ", products_status) as pstatus from categories_description d join categories c ON c.categories_id = d.categories_id JOIN products_to_categories ptc ON ptc.categories_id = c.categories_id JOIN products p ON p.products_id = ptc.products_id JOIN products_description pd ON pd.products_id = p.products_id WHERE d.language_id = 2 AND pd.language_id = 2 AND c.categories_status = 1 group by categories_name having pstatus not like '%1%'; Kategoriebeschreibung Zeichenbegrenzung aufheben PHP: ALTER TABLE `categories_description` CHANGE `categories_description` `categories_description` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; Preise aller Artikel einer Kategorie ändernproducts.products_price = 699 bezeichnet den neuen Preis (hier 699 €), products_to_categories.categories_id die entsprechende Kategorie (hier 140). PHP: UPDATE products INNER JOIN products_to_categories ON products.products_id = products_to_categories.products_id SET products.products_price = 699 WHERE (((products_to_categories.categories_id)=140)); Rabatt für alle Artikel einer Kategorie p.products_discount_allowed = 20 bezeichnet die Prozentzahl (hier 20), WHERE ptc.categories_id=38 bezeichnet die betreffende Kategorie. PHP: UPDATE products p LEFT JOIN products_to_categories ptc ON p.products_id=ptc.products_id SET p.products_discount_allowed = 20 WHERE ptc.categories_id=38 SQL Befehle für Produkte Aktive und inaktive Artikel im Shop anzeigen lassen Aktive Artikel: PHP: SELECT * FROM products WHERE products_status = 1; Inaktive Artikel: PHP: SELECT * FROM products WHERE products_status = 0; Artikel Erscheinungsdatum (products_date_added) ändern JJJJ= Jahr vierstellig - MM = Monat zweistellig - DD= Tag zweistellig PHP: UPDATE `products` SET `products_date_added`= JJJJMMDD; Artikel (alle) aktivieren und deaktivieren Aktivieren: PHP: UPDATE products SET products_status = 1 Deaktivieren: PHP: UPDATE products SET products_status = 0 Artikel mit bestimmter Artikelnummer deaktivieren Deaktiviert Artikel, die mit einer bestimmten Artikelnummer beginnen, z.B. alle Artikel bei denen die Bestellnummer mit 1234 beginnen. PHP: update products set products_status=0 WHERE products_model like '1234%' Artikel-ID aus der Datenbank als Artikelnummer anzeigen lassen Falls man keine Lust hat, sich ständig neue Artikelnummer auszudenken. PHP: UPDATE `products` SET `products_model` = `products_id` Artikel eines Herstellers rabattieren discount_allowed bezeichnet den Rabatt - hier 10%. manufacturers_id bezeichnet den Hersteller - hier Hersteller-ID 26 PHP: UPDATE products SET products_discount_allowed = 10WHERE manufacturers_id=26; Hersteller für alle Artikel setzen Anzuwenden, wenn bei allen Artikeln der gleiche Hersteller eingetragen werden soll. manufacturers_id kennzeichnet den entsprechenden Hersteller. PHP: UPDATE `products` SET `manufacturers_id` = '1' Inaktive Artikel mit Bestand aktiv setzen PHP: UPDATE products SET products_status = 1 WHERE products_quantity>0 AND products_status=0; Inaktive Artikel löschen Jeden Befehl einzeln kopieren und in das Feld eintragen und auf ausführen klicken, ganz zum Schluss diesen Befehl DELETE FROM products WHERE products_status = 0; ausführen. Zwischen jedem Befehl ist eine Leerzeile. Achtung: Die Artikel sind dann nicht mehr in den Bestellungen vorhanden. PHP: DELETE FROM customers_basket WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM customers_basket_attributes WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM personal_offers_by_customers_status_0 WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM personal_offers_by_customers_status_1 WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM personal_offers_by_customers_status_2 WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM personal_offers_by_customers_status_3 WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM personal_offers_by_customers_status_4 WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_attributes WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_content WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_description WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_description WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_graduated_prices WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_images WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_notifications WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_to_categories WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM products_xsell WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM reviews WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); DELETE FROM specials WHERE products_id IN (SELECT products_id FROM products WHERE products_status = 0); Kurzbeschreibung der Artikel mit Produktbeschreibung füllen PHP: UPDATE products_description SET products_short_description=products_description; Lagerbestand prüfen PHP: SELECT * FROM products WHERE products_shippingtime = 0; Lagerbestandswert aller Attribute auf eine bestimmte Menge setzen `attributes_stock`= 10000 auf die benötigte Zahl ändern, hier 10.000. PHP: UPDATE `products_attributes` SET `attributes_stock`= 10000; Lagerbestand aller Produkte anpassen products_quantity='50' auf die benötigte Zahl ändern, hier 50 PHP: UPDATE products SET products_quantity='50' Lieferstatus aller Produkte ändern products_shippingtime`= 1 bezeichnet den 1. Lieferstatus wie im Adminbereich (Konfiguration->Lieferstatus) angezeigt. Der Wert kann mit den dort hinterlegten Werten geändert werden. PHP: UPDATE `products` SET `products_shippingtime`= 1; Lieferstatus bestimmter Artikel ändern Wenn Artikel z.B. vorbestellt werden konnten, ausverkauft waren etc. und einen eigenen Lieferstatus haben, können alle Produkte mit einem neuen Lieferstatus versehen werden, z.B. wenn der Artikel nun lieferbar ist. PHP: UPDATE products SET products_shippingtime = 2 WHERE products_shippingtime = 3 Mehrwertsteuerklasse ändern PHP: UPDATE products SET products_tax_class_id=1; Mindestbestellmenge Artikel ändern Wert gm_min_order = 1 kann beliebig geändert werden. PHP: UPDATE products SET gm_min_order = 1; Preiserhöhung global für alle Artikel - bezieht sich auf Nettopreis Der Befehl erhöht alle Preise um 5%, kann jedoch abgeändert werden, indem die Zahl hinter *1. geändert wird. PHP: update products set products_price=products_price*1.05; Sonderangebote nach Preis löschen Sonderangebote lassen sich nach Preis löschen. Der Code zeigt die Löschung von Artikeln mit einem Preis von 0.00 Euro. Das kann natürlich geändert werden. Bei der Eingabe darauf achten, dass ein Punkt (kein Komma) gesetzt wird. PHP: DELETE FROM specials WHERE specials_new_products_price = 0; Versandkosten für alle Artikel anpassen Dieser Befehl ändert die Versandkosten, die direkt im Artikel eingegeben werden. Den Wert nc_ultra_shipping_costs=4.90 einfach wie gewünscht anpassen. PHP: UPDATE products SET nc_ultra_shipping_costs=4.90 VPE anzeigen Zur Kontrolle, wo VPE angelegt wurden oder nicht, listet dieser Befehl die entsprechenden Produkte auf. PHP: SELECT * FROM products WHERE products_vpe_status = 1; Wer sich anzeigen lassen möchte, ob er den Eintrag irgendwo vergessen hat, nimmt folgenden Befehl: PHP: SELECT * FROM products WHERE products_vpe_status = 0; SQL Befehle für Meta-Angaben, URLs, etc. Bilder Alt-Texte automatisch mit Produktnamen füllen PHP: UPDATE `products_description` SET `gm_alt_text`=`products_name` Meta Titel = Artikelname PHP: UPDATE `products_description` SET `products_meta_title`=`products_description`.products_name; URL Keywords der Artikel von Großschreibung in Kleinschreibung ändern NICHT für LIVE-Shops geeignet PHP: update products_description set gm_url_keywords=lower(gm_url_keywords) URL Keywords der Kategorien von Großschreibung in Kleinschreibung ändern NICHT für LIVE-Shops geeignet PHP: update categories_description set gm_url_keywords=lower(gm_url_keywords) URL in Artikelbeschreibung ändern (z.B. nach Änderung der Shop-Domain, bei manuellen Verlinkungen) PHP: UPDATE products_descriptionSET products_description = REPLACE(products_description, "alterdomainname.de", "neuerdomainname.de"); URL Keywords aller Artikel löschen PHP: UPDATE products_description SET gm_url_keywords = ''; SQL Befehle für Kundenverwaltung und Bestellungen Bestellstatus löschen Wenn man Bestellungen mit einem zugewiesenen Status hat, lässt sich dieser Status nicht löschen. Zuerst muss man also alle betreffenden Bestellungen von diesem Status "befreien". Im Adminbereich unter Konfiguration -> Bestellstatus den zu löschenden Status anklicken und die oID am Ende der URL notieren. Im Standard hat z.B. "offen" die ID 1. oID im Code durch die gewünschte ID ersetzen. Dann sollte der Status selbst direkt im Adminbereich gelöscht können. Die Bestellungen sehen dann so aus als ob sie den betreffenden Status nie gehabt hätten. Also Vorsicht falls das für euch später zum Nachvollziehen wichtig wäre. PHP: DELETE FROM `orders_status_history` WHERE `orders_status_id` = "oID" Kunden (alle) löschen außer Admin PHP: DELETE FROM `address_book` WHERE `customers_id` > 1; DELETE FROM `customers` WHERE `customers_id` > 1; DELETE FROM `customers_basket` WHERE `customers_id` > 1; DELETE FROM `customers_basket_attributes` WHERE `customers_id` > 1; DELETE FROM `customers_info` WHERE `customers_info_id` > 1; DELETE FROM `customers_ip` WHERE `customers_id` > 1; DELETE FROM `customers_memo` WHERE `customers_id` > 1; DELETE FROM `customers_status_history` WHERE `customers_id` > 1; Kunden in eine andere Kundengruppe verschieben Hier werden alle Kunden der Gruppe 2 in Gruppe 4 verschoben. PHP: update customers set customers_status = "4" where customers_status = "2" Kundendaten im Shop abfragen PHP: SELECT * FROM `customers` , `customers_status`, `address_book` WHERE customers`.`customers_status`=2 AND `customers`.`customers_status`=`customers_status`.`customers_status_id` AND language_id=2 AND `customers`.`customers_id`=`address_book`.`customers_id Rechnungszahlung für alle Kunden deaktivieren PHP: UPDATE `customers` SET `payment_unallowed`="invoice"; Wesentliche Merkmale Bestellzusammenfassung löschen PHP: UPDATE products_description SET checkout_information = ''; Wesentliche Merkmale Bestellzusammenfassung mit Produktname füllen PHP: UPDATE products_description SET checkout_information = products_name; SQL Befehle für Darstellung im Template Artikelsortierung in Kategorien - neueste zuerst PHP: UPDATE categories SET products_sorting='p.products_date_added'; Attribute in Kategorien anzeigen lassen PHP: UPDATE `categories` SET `gm_show_attributes` = '1' WHERE `gm_show_attributes` = '0' Gekachelte Ansicht in allen Kategorien anzeigen lassen PHP: UPDATE `categories` SET `view_mode_tiled` = '1' WHERE `view_mode_tiled` = '0 Gewicht aller Artikel anzeigen lassen PHP: UPDATE `products` SET `gm_show_weight` = '1' Produkte aus Unterkategorien anzeigen lassen PHP: UPDATE `categories` SET `show_sub_products` = '1' WHERE `show_sub_products` = '0' Kategoriebilder anzeigen lassen PHP: UPDATE `categories` SET `show_sub_categories_images` = '1' WHERE `show_sub_categories_images` = '0' Kategoriebilder löschen Achtung: Die Bilder werden nicht vom Server gelöscht! PHP: UPDATE categories SET categories_image=''; Kategorieüberschrift anzeigen lassen PHP: UPDATE `categories` SET `show_sub_categories_names` = '1' WHERE `show_sub_categories_names` = '0' Lagerbestand Ampel anpassen PHP: UPDATE `products` SET `products_shippingtime` = '1' WHERE `products_shippingtime` = '0' Lagerbestand in Kategorien anzeigen lassen PHP: UPDATE `categories` SET `gm_show_qty_info` = '1' WHERE `gm_show_qty_info` = '0' Mengeneingabefeld in Kategorien anzeigen lassen PHP: UPDATE categories SET gm_show_qty=1 Mengeneingabefeld nicht in Kategorien anzeigen lassen PHP: UPDATE categories SET gm_show_qty=0 Produktbeschreibung erlaubte Zeichenlänge ändern Mit dem Typ "MEDIUMTEXT" kann man bis zu 16MB Beschreibungstexte verwenden. Der vorhandene Feldtyp "TEXT" erlaubt nur 64KB. Dafür muss man einfach in der Datenbank den Feldtyp des Beschreibungsfelds ändern. PHP: ALTER TABLE `products_description` CHANGE `products_description` `products_description` MEDIUMTEXT NULL DEFAULT NULL </span></span> Staffelpreise in Kategorien anzeigen lassen PHP: UPDATE `categories` SET `gm_show_graduated_prices` = '1' WHERE `gm_show_graduated_prices` = '0' Unterkategorien im Template anzeigen lassen PHP: UPDATE `categories` SET `show_sub_categories` = '1'; "Woanders günstiger" für alle Artikel aktivieren PHP: UPDATE products SET gm_show_price_offer='1' WHERE gm_show_price_offer='0' "Woanders günstiger" für alle Artikel deaktivieren PHP: UPDATE products SET gm_show_price_offer='0' WHERE gm_show_price_offer='1' SQL Befehle für Google Artikel einer Google Kategorie aktiv oder inaktiv stellenAktiv stellen: PHP: UPDATE `products_google_categories` SET `google_category`='1' WHERE `google_category`='0'; Inaktiv stellen: PHP: UPDATE `products_google_categories` SET `google_category`='0' WHERE `google_category`='1'; EAN bei allen Artikeln auf Wert "0" setzen (Anzeige = 0) PHP: UPDATE `products` SET `products_ean` = '0' Lieferstatus aller Artikel für Google ändern Der Wert kann abgeändert werden. 1= lieferbar, 0= nicht lieferbar, usw. PHP: UPDATE products_item_codes SET google_export_availability_id='1' Marke für alle Artikel eintragen 'Markenname' so ändern, wie man es möchte. PHP: UPDATE products_item_codes SET brand_name='Markenname' MPN bei allen Artikeln löschen PHP: UPDATE `products_item_codes` SET `code_mpn` = '' SQL Befehle für Sitemap Artikel (alle) in die Sitemap aufnehmen PHP: UPDATE `products` SET `gm_sitemap_entry` = '1' WHERE `gm_sitemap_entry` = '0' Kategorien (alle) in die Sitemap aufnehmen PHP: UPDATE `categories` SET `gm_sitemap_entry` = '1' WHERE `gm_sitemap_entry` = '0' Priorität aller Kategorien in der Sitemap ändern Wert kann individuell angepasst werden PHP: UPDATE categories SET gm_priority = "0.8" Sitemap aktivieren PHP: UPDATE `categories` SET `gm_sitemap_entry` = '1' WHERE `gm_sitemap_entry` = '0' ---to be continued---
hier noch einer: Lagerbestandswert für alle Artikel auf 10.000 setzen PHP: UPDATE `products_attributes` SET `attributes_stock`= 10000;
Sag's mir Ich hab das nur so übernommen, und der wurde "geht" bestätigt. Soll ich das ändern oder so lassen? Gucke, hier ist es her: http://www.gambio-forum.de/threads/...cts_date_added-verändern?highlight=sql+befehl
Ich hatte mir mal einen aufgeschrieben, um allen Artikeln einer Kategorie einen Rabatt zu geben: Code: UPDATE products p LEFT JOIN products_to_categories ptc ON p.products_id=ptc.products_id SET p.products_discount_allowed = 20 WHERE ptc.categories_id=38 p.products_discount_allowed = 20 sind 20% und WHERE ptc.categories_id=38 Ist die betreffende Kategorie @ Avenger ich habe den Code auch so: Code: UPDATE `products` SET `products_date_added`= JJJJMMDD; und das funktionierte
Ich hab da auch noch einen hilfreichen: Artikel, die warumauchimmer inaktiv sind, aber einen Bestand haben, automatisch wieder aktivieren: Code: UPDATE products SET products_status = 1 WHERE products_quantity>0 AND products_status=0;
klar, steht ja auch im Code , aber wenn man wie ich nur mit Attributen arbeitet, vergisst man schnell, dass es da noch etwas anderes gibt!
hallo Leute wie kann ich denn das wieder zurücksetzen?? hoffe das geht... Kurzbeschreibung der Artikel mit Produktbeschreibung füllen PHP-Code: UPDATE products_description SET products_short_description=products_description;
Im Notfall wenns sehr viele Artikeln sind an den Onkel Server Manager wenden der hat doch ne Sicherung der letzten tage. Und falls du ne Sicherung der Datenbank hast kannst du die entsprechende Tabelle doch einzeln kopieren Achtung vorher nochmals Datenbank sichern wichtig !!!!!!
gibts nen code, der die folgenden felder bei allen artikeln (preisoptionen ganz unten) leert: Gast Neuer Kunde
Du meinst alle Preise des Artikels auf null setzen inkl. Staffelpreise? Das müssten wenn dann zwei Befehle sein. einmal Preis auf null setzen einmal Staffelpreise auf null bzw. löschen
So Cracks, es gibt doch sicher einen Befehl, wie man die Zuordnung der Attribute auf einen einzigen Nenner bringt. Also alle Zuordnungen für die Wiedergabe im Template auf product_options_selection.html