2016-10-27 3 views
1

Angenommen, habe ich folgendes MySQL DatenMySQL ersetzen eine ganze Zeichenfolge basierend auf einem Teil der Zeichenfolge?

  1. userfiles/user/MaxMustermann/2013_Thanksgiving_Final.jpg
  2. userfiles/user/janejohnson/2013_Thanksgiving_Final.jpg
  3. userfiles/user/BobbyLee/2013_Thanksgiving_Final.jpg

Gibt es eine Möglichkeit, es zu ändern?

  1. globalfiles/2016_Thanksgiving_Final.jpg
  2. globalfiles/2016_Thanksgiving_Final.jpg
  3. globalfiles/2016_Thanksgiving_Final.jpg

Ich dachte so etwas wie dies zu tun?

UPDATE user__attributes SET value = REPLACE(value, REGEXP '2013_Thanksgiving_Final', 'globalfiles/2016_Thanksgiving_Final.jpg') WHERE value LIKE '%2013_Thanksgiving_Final%'; 

Ich dachte, wenn ich REGEXP verwendet, ist es die gesamte Zeichenfolge Ziel wäre, nur ein Stück davon basiert weg zu ersetzen? Obwohl ich einen Fehler versuchte, dies zu versuchen.

Danke!

+0

Sie entfernen möchten den Teil ‚yserFiles/user/MaxMustermann/und repalce mit globlfiles für alle Benutzer verwenden sollten, wo es 2013_Thanksgiving_Final.jpg ist? – scaisEdge

Antwort

1

Wenn Sie globalfiles an vorhandenen Dateien möchten hinzufügen, benennen die Sie brauchen nicht regexp aber einfach

UPDATE user__attributes 
SET value = REPLACE(value, '2013_Thanksgiving_Final.jpg', 'globalfiles/2016_Thanksgiving_Final.jpg') 
WHERE value LIKE '%2013_Thanksgiving_Final%'; 

ersetzen, wenn Sie die userfiles/user/*/2013_Thanksgiving_Final.jpg mit globalfiles/2016_Thanksgiving_Final ersetzen wollen. jpg Sie

UPDATE user__attributes 
SET value = globalfiles/2016_Thanksgiving_Final.jpg 
WHERE value LIKE '%2013_Thanksgiving_Final%'; 
+0

Ah ich ging alles falsch, danke für die Hilfe! – myaddresstoday

Verwandte Themen