Seite 1 von 1

SQL: Änderung von Texten in allen Beiträgen

Verfasst: 13.06.2004 11:57
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