Mehrere identische Links in einer Datenbank austauschen

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Mehrere identische Links in einer Datenbank austauschen

Postby talpa » 01. July 2007 21:58

Hallo allerseits,

Mein Online-Shopsystem xtcommerce verwaltet die Produkt-Beschreibungen in einer MySQL -Datenbank. In über 400 Produkten muss ich jetzt den Link zu einem Bild ändern. Dieses Bild zeigt nicht das Produkt selbst, sondern eine für alle 400 Produkte gleiche Beschreibung (z.B. "Neu im Programm" oder "Vergünstigt"). D.h. der Link ist in allen 400 Produkten absolut identisch. Der Austausch sollte sich meiner Meinung nach irgendwie automatisieren lassen.

Ich habe von MySQL leider keine Ahnung, könnte den Link in jeder Produktbeschreibung einzeln von Hand über xtcommerce ändern. Diese Arbeit möchte ich mir gerne sparen. :)

Ich hatte daran gedacht, mir ein kleines Perl-Script zu schreiben, welches den Link in der Datei der Datenbank sucht und ersetzt. Allerdings weiß ich nicht, ob ich mir damit meine Datenbank beschädige. Die Datei heißt products_description.MYD. Ich weiß nicht, was die Dateiendung MYD bedeutet. Könnte ich diese Datei theoretisch mit einem Texteditor ändern ohne die Datenbank zu beschädigen? Dann würde ich nämlich ein Skript basteln.

Wenn das nicht geht, gibt es in MySQL vielleicht eine Möglichkeit a la MS Word "suchen und ersetzen", die ich als Anfänger anwenden kann?

Schönen Gruß,
talpa
talpa
 
Posts: 6
Joined: 04. December 2005 17:16

Postby DJ DHG » 01. July 2007 22:08

Moin Moin!

Von der Geschichte mit dem Editor öffnen, rate ich ab.
Das "suchen und ersetzen" gibt es, dafür müsste man aber
die Tabellenstruktur kennen.

Code: Select all
UPDATE tabelle SET spalte = 'neuerpfad' WHERE spalte = 'alterpfad'


So in etwa könnte der SQL-Querry aussehen.

mfg DJ DHG
User avatar
DJ DHG
AF Moderator
 
Posts: 2455
Joined: 27. December 2002 13:50
Location: Kiel

Postby talpa » 01. July 2007 22:55

Hallo DJ DHG,

danke für die schnelle Antwort zu später Stunde. :D

Wo gebe ich den Code denn ein? Ich arbeite unter Linux. Kann ich das in einer Shell eingeben? Oder mache ich das im PHP-Myadmin?

Sorry, aber wie ich schon gesagt habe, habe ich keine Ahnung von MySQL.

Schönen Gruß,
talpa
talpa
 
Posts: 6
Joined: 04. December 2005 17:16

Postby DJ DHG » 02. July 2007 09:11

Obiger Code ist nur ein sehr simples Beispiel.
Wenn du wirklich selbst Hand anlegen willst, "fummel" nicht an deinem Shop rum,
sonder erstelle davon eine Kopie und übe an der ein wenig.

http://www.bsro.tue.bw.schule.de/vb/vbh ... fe/sql.htm

Ansonsten kannst du ja auch mal den Support von xt:Commerce "anhauen" :wink:

mfg DJ DHG

Ps: Ja, in PHPMyAdmin kannst du so was eingeben.
User avatar
DJ DHG
AF Moderator
 
Posts: 2455
Joined: 27. December 2002 13:50
Location: Kiel

Postby kschroeder » 02. July 2007 13:42

Mysql-Befehle kannst Du bequem über phpmyadmin abschicken. Die DB auswählen und dann auf SQL klicken. Dort gibtst Du die Commandos ein.

Aber wie DJ DHG bereits gesagt hat, auch als Profi sollte man vor direkten Veränderungen in Live-Systemen Abstand halten und immer erstmal mit einer Kopie idealerweise mit einem Test-System versuchen.
kschroeder
 
Posts: 254
Joined: 11. May 2007 13:33

Postby talpa » 02. July 2007 19:37

Vielen Dank euch beiden!!! :D

Ich werde mir auf jeden Fall eine Sicherheitskopie machen und ein wenig herumspielen.

Ich werde mich bestimmt noch mal melden. Bis bald!

Gruß, talpa
talpa
 
Posts: 6
Joined: 04. December 2005 17:16


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 72 guests