SQL: Änderung von Texten in allen Beiträgen

In diesem moderierten Forum werden Code-Schnipsel, die zu klein sind, um richtige Mods zu sein, abgelegt.
Bei Fragen oder Problemen benutze bitte das Forum phpBB 2.0: Mod Support.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

SQL: Änderung von Texten in allen Beiträgen

Beitrag von PhilippK »

Folgender SQL-Befehl ist vor allem dann hilfreich, wenn ein Text in allen Beiträgen des Forums durch einen anderen ersetzt werden soll - z.B. wenn sich die URL des Forums geändert hat:

Code: Alles auswählen

UPDATE phpbb_posts_text
SET post_text = REPLACE(post_text, 'old text', 'new text')
WHERE post_text LIKE '%old text%'
Dadurch wird in allen Beiträgen der Text 'old text' durch den Text 'new text' ersetzt.

Hinweise:
  • vorher unbedingt ein Backup der Tabelle machen
  • der Präfix der Tabelle muss ggf. angepasst werden
  • der alte Text muss an zwei Stellen (old text) eingefügt werden, der neue (new text) einmal
  • der WHERE-Teil ist zwar nicht explizit nötig, dürfte die Ausführungszeit jedoch verkürzen
  • das Board idealerweise während der Ausführung sperren
  • der Suchindex wird dadurch nicht geändert - daher sollte bei gravierenden Änderungen der Suchindex neu aufgebaut werden
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Antworten

Zurück zu „phpBB 2.0: Snippets“