Seite 1 von 1

SQL: Änderung von Texten in allen Beiträgen

Verfasst: 04.01.2008 14:11
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