Archiv verlassen und diese Seite im Standarddesign anzeigen : update .. SET textfield=textfield + ' neuertext' ?
flobee
07.02.2004, 11:13:25
hallo
kann man wie bei einfachen mathematischen aufgaben (SET counter=counter+1) auch strings in einem query erweitern?
$sql = "update tabelle SET textfeld = textfeld + ' noch mehr hinzugefügter text'"
gruß flobee
chris17
07.02.2004, 12:53:58
Hi flobee,
hab' CONCAT bisher nur in Verbindung mit SELECT benutzt...
Probier's einfach mal aus.
mysql_query("UPDATE tbl_tabelle SET textfeld=CONCAT(textfeld, ' bliblablub') WHERE id=1");
Gruss
Christian
Yzerman
07.02.2004, 14:55:38
Chris' Methode funktioniert so.
flobee
07.02.2004, 15:29:23
coool! :-) geht! danke!
Moin,
wollte gerade meinen Datensätzen ein Leerzeichen anhängen und der tut nicht. :(
UPDATE classes SET class=CONCAT(class, ' ')
Hab es in phpMyAdmin machen wollen und der sagt mir nur, dass 0 Datensätze betroffen sind. Klasse! Warum?
Feldnamen, Groß- und Kleinschreibung und so stimmt alles. Datensätze sind natürlich auch vorhanden.
Danke,
Carsten
feuervogel
20.02.2004, 10:09:33
http://www.mysql.de/doc/de/String_functions.html#IDX1127
hat es vielleicht damit zu tun, dass ' ' keine zeichenkette ist?
Original geschrieben von feuervogel
http://www.mysql.de/doc/de/String_functions.html#IDX1127
hat es vielleicht damit zu tun, dass ' ' keine zeichenkette ist? Was ist an einem Leerzeichen keine Zeichenkette?
Hast mich aber auf diese Idee gebracht:
UPDATE classes SET class=CONCAT(class, CHAR(32))
Klappt aber auch nicht...
Hast Recht, der sieht das nicht als Leerzeichen an.
Neue Idee:
UPDATE classes SET class=CONCAT(class, ' #');
UPDATE classes SET class=LEFT(class, LENGTH(class)-1);
Heißt: Zwei Zeichen anhängen und das letzte praktisch entfernen. Ersteres klappt. Letzteres entfernt die letzten beiden Zeichen... WARUM??
Edit:
Ich scheine verloren zu haben: Values are not padded; instead, trailing spaces are removed when values are stored. (This space removal differs from the SQL-99 specification.)
chris17
20.02.2004, 10:46:11
Uups, hab' Dein Edit nicht gesehen
Und wenn Du zur "Not" den Typ "TEXT" nimmst?
Hi,
ist das Feld "class" vom Typ VARCHAR? -> http://www.mysql.de/doc/de/Bugs.html
Bei allen Zeichenketten-Spalten ausser bei BLOB- und TEXT-Spalten werden Leerzeichen am Ende automatisch entfernt, wenn sie abgerufen werden. Bei CHAR-Typen ist das okay und kann gemäß ANSI-SQL92 als ein Feature betrachtet werden. Der Bug besteht darin, dass in MySQL auch VARCHAR-Spalten auf dieselbe Art behandelt werden.
man könnte doch einfach auch ein # einfügen ...
vBulletin® v3.8.3, Copyright ©2000-2013, Jelsoft Enterprises Ltd.