Einzelnen Beitrag anzeigen
Alt 25.07.2007, 15:44   #1
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard MySQL: Lösung für Funktionalität $var .= "bla"; auf DB-Ebene

ich möchte mit MySQL auf DB-ebene das erreichen, was z.b. in perl oder php so ginge:

$var .= "bla";

es geht also darum, einen wert aus der DB auszulesen und ihm im gleichen atemzug etwas anzufügen. unter oracle funktioniert das über ein subquery z.b. so:

Code:
UPDATE tabelle SET feld=(SELECT feld || 'bla' FROM tabelle WHERE id='118')
WHERE id='118';
probiert habe ichs auch mit CONCAT:

Code:
UPDATE tabelle SET feld=(SELECT CONCAT(feld, 'bla') FROM tabelle WHERE id='118')
WHERE id='118';
MySQL sagt mir aber zu beidem:

#1093 - You can't specify target table 'tabelle' for update in FROM clause

beklagt sich also darüber, daß ich in dieselbe tabelle schreiben will, aus der ich davor auslese (ich weiß ehrlich gesagt nicht, wo da das problem sein soll, aber bitte).

weiß jemand, wie ich das unter MySQL machen kann?
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten