WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   MySQL: Lösung für Funktionalität $var .= "bla"; auf DB-Ebene (http://www.wcm.at/forum/showthread.php?t=220177)

RaistlinMajere 25.07.2007 15:44

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?

RaistlinMajere 25.07.2007 16:37

antwort: gar nicht
 
Currently, you cannot update a table and select from the same table in a subquery.

ich bin, muß ich gestehen, negativ überrascht.

void 25.07.2007 21:27

Code:

UPDATE `tabelle` SET `feld` = CONCAT(`feld`,'bla') WHERE `id`='118' LIMIT 1;
meinst du so?

RaistlinMajere 25.07.2007 21:33

jaaaa. danke :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag