MySQL Feld Updaten
Rainer
- datenbank
Hallo,
Ich möchte ein Feld einer Tabelle updaten und dabei den ursprünglichen Inhalt des Feldes mit übernehmen.
Beispiel:
Feld Inhalt war: "RTL"
neu soll sein "Super RTL"
also Schema: "Super " + Feld_Alt
Mein Test:
UPDATE test1
SET test1.a = 'Super ' + test1.a WHERE test1.a = 'RTL'
Jedoch ist der Inhalt des Feld a nach diesem Befehl gleich Null.
Ein Punk statt dem "+" brachte auch keinen Erfolg.
Für euch MySQL Profis sicher kein Problem...?
Hello,
Mein Test:
UPDATEtest1
SET test1.a = 'Super ' + test1.a WHERE test1.a = 'RTL'
War schon ganz gut ;-)
Nur können Strings bei der Datenbank nicht addiert werden.
Nimm die Funktion concat()
UPDATE test1
SET test1.a = concat('Super ', test1.a) WHERE test1.a = 'RTL'
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Das ging ja fix!
...während ich mir hier stundenlang den Kopf zerbreche x-)
It works! Merci! ;-)
Hallo Rainer,
...während ich mir hier stundenlang den Kopf zerbreche x-)
mein Lieblingszitat: Zitat #231
(MySQL-Handbuch Funktionen und Operatoren)
Freundliche Grüße
Vinzenz
Hallo Tom,
UPDATE
test1
SET test1.a = 'Super ' + test1.a WHERE test1.a = 'RTL'Nur können Strings bei der Datenbank nicht addiert werden.
sagen wir lieber so: Es muss entweder ein Verkettungsoperator oder eine Verkettungsfunktion verwendet werden, bei MySQL ...
Nimm die Funktion concat()
bei anderen SQL-Dialekten sieht das ganz anders aus, Beispiele:
Transact-SQL (MS SQL-Server), Zeichenverkettungsoperator: +
Jet-SQL (MS Access), Zeichenverkettungsoperator: &
PostgreSQL, Zeichenverkettungsoperator: ||
Wenn man es nicht auswendig weiß, muss man halt die Dokumentation zu Rate ziehen.
Freundliche Grüße
Vinzenz, der auf 'Hilfreich' geklickt hat
Hi,
Kleine Ergänzung:
Transact-SQL (MS SQL-Server), Zeichenverkettungsoperator: +
Jet-SQL (MS Access), Zeichenverkettungsoperator: &
PostgreSQL, Zeichenverkettungsoperator: ||
Oracle, Zeichenverkettungsoperator: ||
cu,
Andreas