MySQL->Reg.Expr. und Update über SQL
Ralf Hemop
- datenbank
Hi,
ist es möglich, über Reg.Expr. Treffer in einem Feld zu finden, diese zu ersetzen (z.B. durch Werte eines anderen Feldes) und direkt zurückzuschreiben (update)?
Danke!
Ralf
Huhu Ralf
ist es möglich, über Reg.Expr. Treffer in einem Feld zu finden, diese zu ersetzen (z.B. durch Werte eines anderen Feldes) und direkt zurückzuschreiben (update)?
Ich sage mal nein, wobei ich mir da auch nur zu 90% sicher bin[1].
Als weitere Lösungen kämen vielleicht folgende in Betracht:
1.) per Script welches alle Datensätze holt, "RegExp-replaced" und "updated".
2.) SQL-Dump machen, im Texteditor "RegExp-replacen", Ergebnis wieder einlesen.
3. Für einfachere Fälle geht es z.B. so:
UPDATE Tabellenname SET Feldname = REPLACE(Feldname,'../alt/','/alles/neu/') WHERE Feldname LIKE '%../alt%';
so short ...
Viele Grüße
lulu
[1] 100% sicher bin ich mir immerhin, dass es hier viele gibt die es
100%ig wissen. ;-)
Huhu Ralf
ist es möglich, über Reg.Expr. Treffer in einem Feld zu finden, diese zu ersetzen (z.B. durch Werte eines anderen Feldes) und direkt zurückzuschreiben (update)?
Ich sage mal nein, wobei ich mir da auch nur zu 90% sicher bin[1].
Als weitere Lösungen kämen vielleicht folgende in Betracht:
1.) per Script welches alle Datensätze holt, "RegExp-replaced" und "updated".
2.) SQL-Dump machen, im Texteditor "RegExp-replacen", Ergebnis wieder einlesen.
- Für einfachere Fälle geht es z.B. so:
UPDATE Tabellenname SET Feldname = REPLACE(Feldname,'../alt/','/alles/neu/') WHERE Feldname LIKE '%../alt%';
danke, das funktioniert!
Aber das "where Feldname ..." scheint mir überflüssig,oder?