Inhalte in einer MySQL-Datenbank ersetzen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anwendungsfall
befehl
beispiel
datenbank
durchsuchen
einspielen
ersetzen
falschen url
folgendes gefunden update
gefunden datenbank
nachtrag
scheitern
set
tabelle
test
textdatei
texteditor
update
url
wissen
-
Hallo,
ich habe schon im Netz gesucht, habe aber nicht das richtige gefunden.
Ich habe eine MySQL Datenbank, mit falschen URL angaben. Diese möchte ich gern alle auf einmal ändern.
Zum Beispiel: localhost/test/ nach localhost/1/
Wie erreiche ich dies?
Gibt es eine Lösung für phpMyAdmin?
Nachtrag:
Ich habe folgendes gefunden:
UPDATE wp_posts SET post_content = replace(post_content, ‘altedomain.de’, ‘neuedomain.de’);
Leider müsste ich diesen Befehl für jede Tabelle ausführen.
Gibt es eine alternative?
Beitrag zuletzt geändert: 14.6.2011 8:45:37 von lz13 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
UPDATE <Tabellenname> SET <Spaltenname>=REPLACE(<Spaltenname>, 'localhost/test/', 'localhost/1/')
-
Was muss ich beim Spaltennamen eingeben?
-
lz13 schrieb:
Was muss ich beim Spaltennamen eingeben?
Hast dir doch schon selbst die Antwort gegeben:
lz13 schrieb:
...
Nachtrag:
Ich habe folgendes gefunden:
UPDATE wp_posts SET post_content = replace(post_content, ‘altedomain.de’, ‘neuedomain.de’);
Leider müsste ich diesen Befehl für jede Tabelle ausführen.
Gibt es eine alternative?
"wp_posts" ist dein Tabellenname und "post_content" dein Spaltenname, entsprechend musst du das auf deine Datenbank anwenden, woher sollen wir denn wissen wie deine Spalte lautet???
Und falls du nicht wissen solltest was der Spaltenname ist, würde ich mir überlegen ob ich wirklich die Datenbank verändern möchte...
Beitrag zuletzt geändert: 14.6.2011 8:56:10 von alfr3d -
Mein Anwendungsfall ist, dass ich mehrere Tabbellen und Spalten nach einem bestimmten Teil auf einamal durchsuchen und ersetzen möchte, ohne dass ich jedesmal Tabellen- oder Spaltenname angeben brauch.
-
Theoretisch sollte es möglich sein, auf die Metadaten zuzugreifen und dir alle Tabellen- und Spaltennamen geben zu lassen. Für so ein Skript habe ich momentan aber weder Zeit noch Lust.
Ich habe aber bei Google noch eine mögliche Alternativlösung gefunden:
- Datenbank exportieren und als Textdatei speichern
- In der exportierten Datei deine Werte per Texteditor ersetzen
- Den Datenbankdump wieder einspielen
Ungetestet, aber hört sich gar nicht so unplausibel an. -
UPDATE <Tabellenname> SET <Spaltenname>=REPLACE(<Spaltenname>, 'localhost/test/', 'localhost/1/')
Gibt es keinen Befehl ohne Tabellenamen und Spaltennamen.
I -
Nein.
Du könntest höchstens mittels MySQL alle Tabellen aus der Datenbank in ein Array packen und selbiges dann entsprechend durchgehen. Aber spätestens bei den Spaltennamen wirst du scheitern.
Beitrag zuletzt geändert: 25.6.2011 14:43:08 von fabo -
Gibt es kein Prafix für die Namen? Zum Beispiel ein Sternchen oder so.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage