MySQL: Ersetzen mit Callback
toby
- datenbank
hi,
wie kann ich alle werte des feldes FELD1, die LIKE abc% sind so ersetzen, dass nur das abc durch def ersetzt wird, sodass aber der rest (%) erhalten bleibt?
Danke für tipps
echo $begrüßung;
wie kann ich alle werte des feldes FELD1, die LIKE abc% sind so ersetzen, dass nur das abc durch def ersetzt wird, sodass aber der rest (%) erhalten bleibt?
MySQL kennt einige String-Funktionen. REPLACE() dürfte die sein, die du suchst.
echo "$verabschiedung $name";
spinn ich jetzt?!
auf dem einen server lässt sich
UPDATE test SET link = ( SELECT REPLACE( test.link, "abc", "def" ) )
problemlos ausführen und es funktioniert!
auf dem andren gehts nicht. dort meint mysql: error in line 1.
was ist da los?
echo $begrüßung;
auf dem einen server lässt sich
UPDATE test SET link = ( SELECT REPLACE( test.link, "abc", "def" ) )
problemlos ausführen und es funktioniert!
auf dem andren gehts nicht. dort meint mysql: error in line 1.
was ist da los?
Vermutlich ist die Version des einen größer oder gleich 4.1 und die des anderen kleiner.
Mal abgesehen davon brauchst du die Subquery nicht:
UPDATE test SET link=REPLACE(link, "abc", "def");
echo "$verabschiedung $name";
jo, was mach ich nun, wo die version älter ist?
hi,
jo, was mach ich nun, wo die version älter ist?
Da liest du jetzt dedlfix' Antwort noch mal _aufmerksam_ - und benutzt dann die Alternative, die er dir zu deiner in diesem Falle vollkommen überflüssigen Subquery vorschlug.
gruß,
wahsaga
yo,
Da liest du jetzt dedlfix' Antwort noch mal _aufmerksam_ - und benutzt dann die Alternative, die er dir zu deiner in diesem Falle vollkommen überflüssigen Subquery vorschlug.
wobei die lösung von dedlfix eventuell nicht ganz sauber ist, weil er nur die drei buchstaben am anfang ersetzen will. replace würde aber auch zeichen in der "mitte" oder am "ende" ersetzen, wenn es die gleiche zeichenfolge besitzt. eine andere zeichenfunktion wäer hier dann angebrachter.
Ilja