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.
Snippets können über unser Kontaktformular eingereicht werden (bitte als vollständiger, Copy&Paste fähiger Beitrag).
Bei Fragen oder Problemen benutze bitte das Forum [3.0.x] Mod Support.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17400
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

SQL: Änderung von Texten in allen Beiträgen

Beitrag von Dr.Death »

phpBB3:

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
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
Antworten

Zurück zu „[3.0.x] Snippets“