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-ID: 181521

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

Ausgedruckt am: 05.11.2024 um 08:11 Uhr

Guenni
Guenni 06.03.2012 um 20:18:21 Uhr
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
zensbert
zensbert 06.03.2012 um 20:29:54 Uhr
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!
Guenni
Guenni 06.03.2012 um 21:09:43 Uhr
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
zensbert
zensbert 06.03.2012 um 22:07:03 Uhr
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
zensbert
zensbert 03.04.2012 um 21:29:33 Uhr
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!