Ralf Hemop: MySQL->Reg.Expr. und Update über SQL

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

  1. 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.  ;-)

    1. 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.

      1. 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?