Daten in Datenbank ändern
joe
- datenbank
0 dedlfix0 Sven Rautenberg0 Axel Richter0 Sven Rautenberg0 joe0 dedlfix0 Axel Richter0 joe
hallo,
ich hab in einer datenbank beiträge gespeichert, wobei jeder einzelne auch auf eine grafik verweist. die URL zur grafik soll jetzt geändert werden, und ich bin mir nicht sicher wie das genau funktioniert...
gibt es einen mysql-befehl, mit dem teile einer einzelnen tabellenzelle geändert werden können?
http://www.unihelp.cc/e107/e107_images/starwars.gif
auf http://www.unihelp.cc/e107/images/starwars.gif
so eine art UPDATE news_body mit "images" WHERE news_body beinhaltet "e107_images" als text
wie könnte man das problem lösen?
lg joe
echo $begrüßung;
gibt es einen mysql-befehl, mit dem teile einer einzelnen tabellenzelle geändert werden können?
UPDATE SET feldname = änderungsfunktion(feldname) ...
http://www.unihelp.cc/e107/e107_images/starwars.gif
auf http://www.unihelp.cc/e107/images/starwars.gif
wie könnte man das problem lösen?
REPLACE() bietet sich dafür an.
echo "$verabschiedung $name";
Moin!
gibt es einen mysql-befehl, mit dem teile einer einzelnen tabellenzelle geändert werden können?
UPDATE SET feldname = änderungsfunktion(feldname) ...
UPDATE ändert in einem bestehenden Datensatz ein oder mehrere Felder.
REPLACE() bietet sich dafür an.
REPLACE löscht einen existierenden Datensatz, bevor dieser mittels INSERT-Operation neu bzw. aktualisiert hinzugefügt wird. REPLACE hilft insbesondere nicht bei der hier ggf. notwendigen Ersetzungsoperation in den Grafiklinks.
- Sven Rautenberg
Hallo,
REPLACE() bietet sich dafür an.
REPLACE löscht einen existierenden Datensatz, bevor dieser mittels INSERT-Operation neu bzw. aktualisiert hinzugefügt wird.
REPLACE hilft insbesondere nicht bei der hier ggf. notwendigen Ersetzungsoperation in den Grafiklinks.
Warum soll REPLACE() da nicht helfen?
viele Grüße
Axel
Moin!
Warum soll REPLACE() da nicht helfen?
Um 00:03h hilft es nicht mehr, ist doch offensichtlich, oder? :)
- Sven Rautenberg
also müsste dann folgender befehl richtig sein?
SELECT REPLACE('e107_images', 'e107_', '');
vielleicht kann mir das noch wer bestätigen?
danke und lg
joe
Moin!
Warum soll REPLACE() da nicht helfen?
Um 00:03h hilft es nicht mehr, ist doch offensichtlich, oder? :)
- Sven Rautenberg
echo $begrüßung;
also müsste dann folgender befehl richtig sein?
SELECT REPLACE('e107_images', 'e107_', '');
vielleicht kann mir das noch wer bestätigen?
Jetzt lass dich mal nicht von Svens Missinterpretation (Replace-Funktion contra Replace-Statement) meiner Antwort verwirren.
Mit SELECT fragst du Daten ab. Du möchtest die in der Tabelle enthaltenen Daten ändern. Dazu eigenet sich UPDATE, so wie inmeiner ersten Antwort beschrieben.
Als Beispiel sieht deine Anwendung der Replace-Funktion schon mal gut aus. Doch im konkreten Fall müsstest du statt des ersten Parameters den Feldnamen angeben. Das Ergebnis der Funktion wird wieder dem Feld zugewiesen:
UPDATE tabellenname SET feldname=REPLACE(feldname, 'e107_', '')
Das Statement kann auch noch durch eine WHERE-Klausel ergänzt werden. (Ohne diese werden alle Datensätze betrachtet.) Das hat aber keine direkten Auswirkungen auf die Feldinhalte, für die die Replace-Funktion keine Änderung vornimmt. Aus Effizienzgründen wird ein Datensatz nicht geschrieben, wenn keine Änderungen erfolgen. Nicht einmal Timestamp-Felder werden dann verändert.
echo "$verabschiedung $name";
Hallo,
»»gibt es einen mysql-befehl, mit dem teile einer einzelnen tabellenzelle geändert werden können?
»»http://www.unihelp.cc/e107/e107_images/starwars.gif
»»auf http://www.unihelp.cc/e107/images/starwars.gif
UPDATE tabellenname SET feldname=REPLACE(feldname, 'e107_', '')
Hm. Bei soetwas würde ich gerne immer auf Nummer Sicher gehen. Er hat im Ressourcenpfad "e107_images" in "images" verändert, also:
UPDATE tabellenname SET feldname=REPLACE(feldname, 'e107_images', 'images')
Mit "ersetze etwas durch '' oder durch NULL" bin ich _sehr_ vorsichtig geworden ;-)).
viele Grüße
Axel
mission erfolgreich erledigt. danke für eure hilfe!
lg joe
Hallo,
»»gibt es einen mysql-befehl, mit dem teile einer einzelnen tabellenzelle geändert werden können?
»»http://www.unihelp.cc/e107/e107_images/starwars.gif
»»auf http://www.unihelp.cc/e107/images/starwars.gifUPDATE tabellenname SET feldname=REPLACE(feldname, 'e107_', '')
Hm. Bei soetwas würde ich gerne immer auf Nummer Sicher gehen. Er hat im Ressourcenpfad "e107_images" in "images" verändert, also:
UPDATE tabellenname SET feldname=REPLACE(feldname, 'e107_images', 'images')
Mit "ersetze etwas durch '' oder durch NULL" bin ich _sehr_ vorsichtig geworden ;-)).
viele Grüße
Axel