Suchen und Ersetzen in MySql

Hilfe zur Installation
Post Reply
jeff1980
Forum Members
Forum Members
Posts: 210
Joined: Mon Apr 30, 2007 1:46 pm

Suchen und Ersetzen in MySql

Post by jeff1980 »

Hallo,

ich hätte da mal wieder eine Frage  :).

Ich betreue ja das Projekt www.festtagsgedichte.de mit mittlerweile über 1500 Texten sprich Unterseiten. In letzter Zeit hat sich bei der Dateneingabe leider ein kleiner Fehler eingeschlichen.
Normalerweise sollte der Content im Quelltext so aussehen:

Code: Select all

<p>Adele<br />
Mein Adelchen mein<br />
Es ist so schön<br />
Dass du bist wie du bist<br />
Und nicht nur zum Geburtstag<br />
Lieben wir dich</p>
{global_content name='webseite'}
Durch die Fehlerhafte Eingabe ist nun aber folgendes passiert:

Code: Select all

<p>Adele<br />
Mein Adelchen mein<br />
Es ist so schön<br />
Dass du bist wie du bist<br />
Und nicht nur zum Geburtstag<br />
Lieben wir dich<br />
{global_content name='webseite'}</p>
<p> </p>
Leider bei einer nicht mehr nachvolziebaren Anzahl von Texten...
Nun würde ich natürlich ungern in jeden Text gehen und es manuell ändern. Ich habe deshalb folgendes Skript für MySQL ausfindig gemacht:

Code: Select all

UPDATE tabellenname SET feldname =
replace(feldname, suchstring, ersatzstring);
Da es mir nur um den Abschnitt ab dem letzten
geht, würde das wohl für mich so aussehen:

Code: Select all

UPDATE cmsms_content_props SET content =
replace(content, '<br />{global_content name='webseite'}</p><p> </p>', '</p>{global_content name='webseite'}');
Das Problem ist nicht nur optischer Natur, sondern auch technischer. Da ich im GCB schon mit arbeite, kommt es teilweise zu unschönen Ergebnissen im Quellcode...

Da ich nicht wirklich die Möglichkeit habe, es zu testen (lokaler Import der Datenbank klappt zwar, aber CMSms läuft unter XAMPP damit nicht - wurde hier vor längerer Zeit schon mal diskutiert), würde ich gern wissen, was Ihr von dem Schnippsel haltet und ob es wohl so funktioniert...

Bin wie immer für jeden Tipp dankbar...

Viele Grüße
Jan
Last edited by jeff1980 on Sun Feb 08, 2009 11:51 am, edited 1 time in total.
tobik
Translator
Translator
Posts: 149
Joined: Thu Aug 16, 2007 6:18 pm

Re: Suchen und Ersetzen in MySql

Post by tobik »

Du musst mit dem Hochkomma aufpassen, z.B. bei name='website'. Das Hochkomme ist bei SQL der Begrenzer für einen String.
jeff1980
Forum Members
Forum Members
Posts: 210
Joined: Mon Apr 30, 2007 1:46 pm

Re: Suchen und Ersetzen in MySql

Post by jeff1980 »

Hi tobik,

danke für den Hinweis. Der GCB müsste ja auch mit " funktionieren. Meinst Du das klappt dann so in MySQL?

Code: Select all

UPDATE cmsms_content_props SET content =
replace(content, '<br />{global_content name="webseite"}</p><p> </p>', '</p>{global_content name="webseite"}');
Ach ne - Mist!!! In dem Teil, der ersetzt werden soll, stehen ja '. Das kann ich ja nicht ändern. Kann ich ' denn irgendwie nutzen in MySQL? Habe grad mal kurz gegoogelt. Angeblich solls wie bei PHP gehen: \'

Also vielleicht so?

Code: Select all

UPDATE cmsms_content_props SET content =
replace(content, '<br />{global_content name=\'webseite\'}</p><p> </p>', '</p>{global_content name=\'webseite\'}');

Viele Grüße
Jan
Last edited by jeff1980 on Sun Feb 08, 2009 2:22 pm, edited 1 time in total.
tobik
Translator
Translator
Posts: 149
Joined: Thu Aug 16, 2007 6:18 pm

Re: Suchen und Ersetzen in MySql

Post by tobik »

Ich denke, das sollte so funken. Ein Backup kann trotzdem nicht schaden. ;)
jeff1980
Forum Members
Forum Members
Posts: 210
Joined: Mon Apr 30, 2007 1:46 pm

Re: Suchen und Ersetzen in MySql

Post by jeff1980 »

Hi nochmal,

hab mich dann mal gewagt... Ganz so simpel war es dann doch leider nicht. MySQL wollte noch besondere Anführungszeichen:

Code: Select all

UPDATE `cmsms_content_props` SET `content` = REPLACE(`content`,"<p>{global_content name='webseite'}</p>", "{global_content name='webseite'}")
So hat es dann letztendlich geklappt. Ein komplette Austausch ging leider nicht, aber Stück für Stück ist auch ok. Besser als jeden Text zu überprüfen...

Auf jeden Fall danke für Deine Hilfe.

Viele Grüße
Jan
Post Reply

Return to “Installation und Einstellungen”