zensbert
Goto Top

MySQL DB, bestimmte Werte ändern

Halloi!
Ich hab nicht wirklich Ahnung von MySQL, deswegen bräuchte ich mal Hilfe von euch Profis.. Habe für XBMC eine SQL-DB, in der stehen natürlich auch UNC-Pfade drin.. nun ist es jedoch so dass sich die Pfade nun bald ändern werden.. Sprich vorher sowas wie:

\\192.168.100.100\Filme\Beispiel.avi

nachher muss es dann so heißen

\\192.168.100.250\Filme\Beispiel.avi

Ist das möglich? Ich denke mal dass es da bestimmt nen netten Einzeiler gibt der einfach "\\192.168.100.100" mit "\\192.168.100.250" ersetzen kann, oder?

Dank im Voraus..

LG Thomas

Content-Key: 181521

Url: https://administrator.de/contentid/181521

Printed on: April 19, 2024 at 20:04 o'clock

Member: Guenni
Guenni Mar 06, 2012 at 19:18:21 (UTC)
Goto Top
Hi zensbert,

'nen netten Einzeiler gibt's nicht, dafür aber http://dev.mysql.com/doc/refman/5.1/de/string-functions.html

Da werden jede Menge Funktionen mit Beispielen zur Bearbeitung von Strings (Teilstrings) gezeigt.

Gruß
Günni
Member: zensbert
zensbert Mar 06, 2012 at 19:29:54 (UTC)
Goto Top
Aha!
Also nehm ich den replace befehl;

REPLACE(str,from_str,to_str)

Gibt den String str zurück, bei dem jedes Auftreten des Strings from_str durch den String to_str ersetzt wurde. REPLACE() führt bei der Suche nach from_str einen Vergleich unter Berücksichtigung der Groß-/Kleinschreibung durch.

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');  
        -> 'WwWwWw.mysql.com'  

Diese Funktion ist multibytesicher. 

Interpretiere ichs so richtig?
mysql> SELECT REPLACE('\\192.168.100.100\Filme', '100.100', '100.250');  
Danke schonmal!
Member: Guenni
Guenni Mar 06, 2012 at 20:09:43 (UTC)
Goto Top
Hi zensbert,

Interpretiere ich's so richtig?

Ja, so in etwa. Allerdings bekommst du bei einer Select-Abfrage nur eine Ansicht der geänderten Werte,

die Werte in der Tabelle bleiben unverändert. Kann aber nicht schaden, sich zuerst mal solch eine Ansicht zu

holen, bevor man die Tabelle "verhunzt". face-smile


Beispiel:

select Vorname, replace(Vorname, 'au', 'ua') as 'Geändert' from tabelle2


Ist das Ergebnis okay, kann man die Änderung(en) mit einer Update-Abfrage durchführen

UPDATE tabelle2 set Vorname=replace( Vorname, 'au', 'ua' )

Oder halt ein " . . . where Feld=Kriterium" dranhängen für einzelne Datensätze.

Gruß
Günni
Member: zensbert
zensbert Mar 06, 2012 at 21:07:03 (UTC)
Goto Top
Ah okay; gut zu wissen! Ich kanns jetzt zwar noch nicht ausprobieren, erst in ein paar tagen, aber ich wollte vorbereitet sein.. Ich gebe auf jeden fall nochmal Rückmeldung!
Danke soweit..

LG
Member: zensbert
zensbert Apr 03, 2012 at 19:29:33 (UTC)
Goto Top
Also, hat super geklappt, habe das aber mit der Software "Navicat Essentials for MySQL" gemacht, da konnte ich auch diesen Befehl ansetzen. Will keine Werbung machen, aber warum soll mans sich schwer machen... face-wink

Danke nochmal Günni!