SQL: Frage zu UPDATE
Andreas
- datenbank
0 André Laugks0 Andreas0 André Laugks0 Andreas
0 Cheatah
Hallo!
Kann ich es schaffen das ich an die Daten einer Spalte jeweils einen Text anhänge? Also was der Art
UPDATE xy SET spalte = spalte & ' neuer text';
Aber das gibt 0. Hat jemand ne Idee wie ich das machen könnte?
Grüße
Andreas
Hallo!
Kann ich es schaffen das ich an die Daten einer Spalte jeweils einen Text anhänge? Also was der Art
UPDATE xy SET spalte = spalte & ' neuer text';
ist ungetestet:
UPDATE tabelle SET spalte=CONCAT(spalte, ' neuer Text');
MfG, André Laugks
Hi!
Kann ich es schaffen das ich an die Daten einer Spalte jeweils einen Text anhänge? Also was der Art
UPDATE xy SET spalte = spalte & ' neuer text';
ist ungetestet:
UPDATE tabelle SET spalte=CONCAT(spalte, ' neuer Text');
Das gibt mir '0 neuer Text'
Im manual steht da auch nichts vo der Möglichkeit eine Spalte zu verknüpfen, aber mit Zahlen geht das doch auch so einfach, das mußt doch auch irgendwie mit Strings gehen, oder?
Grüße
Andreas
Hallo!
UPDATE tabelle SET spalte=CONCAT(spalte, ' neuer Text');
Das gibt mir '0 neuer Text'
Im manual steht da auch nichts vo der Möglichkeit eine Spalte zu verknüpfen, aber mit Zahlen geht das doch auch so einfach, das mußt doch auch irgendwie mit Strings gehen, oder?
UPDATE tabelle SET spalte=CONCAT(spalte, ' neuer Text');
Bei mir funktioniert das wunderbar. Habe es mit VARCHAR und TEXT versucht.
MfG, André Laugks
Hi!
UPDATE tabelle SET spalte=CONCAT(spalte, ' neuer Text');
Bei mir funktioniert das wunderbar. Habe es mit VARCHAR und TEXT versucht.
Ja, hast Recht, war ein anderer Fehler, hatte vergessen die vorherigen Versuche zu "bereinigen", geht tatsächlich, danke Euch!
Grüße
Andreas
Hi,
Kann ich es schaffen das ich an die Daten einer Spalte jeweils einen Text anhänge?
woher sollen wir das wissen, wenn Du nicht verrätst, welches DBMS Du verwendest? Denkbar sind z.B. spalte+'Text', concat(spalte, 'Text') und spalte||'Text' als Lösungen - oder vielleicht geht es auch nur, indem Du den Wert vorher ausliest und in Deiner Programmlogik veränderst, bevor Du ihn zurückschreibst.
Bei Fragen zu Datenbanken und/oder SQL
_
(_)_ __ ___ _ __ ___ ___ _ __
| | '_ \_ \| '\_
_ \ / _ \ '__|
| | | | | | | | | | | | __/ |
|_|_| |_| |_|_| |_| |_|\___|_|
das verwendete DBMS nennen.
Cheatah
Hallo!
Sorry, natürlich
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ / /
/ /|_/ / // /\ / /_/ / /__
/_/ /_/\, /___/\__\\__/
<___/
,hatte nicht dran gedacht da ich schon über 100 Fragen zu MySQL und noch keine einzige zu einer anderen DBMS gestellt habe. mit + gab einen Syntax Error, concat(spalte) ergibt 0 und mit & geht auch nicht, werde mal || probieren!
Grüße
Andeas
Hallo nochmal!
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ / /
/ /|_/ / // /\ / /_/ / /__
/_/ /_/\, /___/\__\\__/
<___/
Ich habe jetzt alle bisher genannten Methoden nochmals probiert, immer wird aus der Spalte eine 0, fast immer wird gerechnet, nur bei CONCAT nicht, aber da wir duch aus der Spalte eine 0.
Geht das vielleicht gar nicht in MySQL?
Grüße
Andreas
Hi,
Geht das vielleicht gar nicht in MySQL?
ein kurzer Blick in die Doku (unter "Functions for Use in SELECT and WHERE Clauses") sagt mir, dass CONCAT() oder CONCAT_WS() genau richtig sind. Wenn das bei Dir falsche Ergebnisse liefert, solltest Du das erst mal näher untersuchen; etwa mit SELECT CONCAT('test', 'me') und ähnlichen Scherzen.
Ach übrigens: "UPDATE returns the number of rows that were actually changed." Ich hoffe, Du hast nicht den Rückgabewert falsch interpretiert ;-)
Cheatah
Hi,
Geht das vielleicht gar nicht in MySQL?
ein kurzer Blick in die Doku (unter "Functions for Use in SELECT and WHERE Clauses") sagt mir, dass CONCAT() oder CONCAT_WS() genau richtig sind. Wenn das bei Dir falsche Ergebnisse liefert, solltest Du das erst mal näher untersuchen; etwa mit SELECT CONCAT('test', 'me') und ähnlichen Scherzen.
Bin ich Jesus? *g*
Ich habe bei Update geguckt, woher soll ich wissen das ich für sowas bei SELECT gucken muß?
Grüße
Andreas
Hi,
Ich habe bei Update geguckt, woher soll ich wissen das ich für sowas bei SELECT gucken muß?
wenn Du bei UPDATE nachgesehen hast dann weißt Du, dass dort _keine_ Funktion beschrieben ist, auch nicht CONCAT() - da Dir die Verwendung keinen SQL-Fehler geschmissen hat, muss sie trotzdem erlaubt sein, also ist sie wohl anderorts beschrieben.
Im Inhaltsverzeichnis der Doku habe ich nach "function" gesucht, und habe hinter dem gefundenen Einstiegspunkt durchaus eine Beschreibung der Funktion gefunden. So schwer ist es doch nun auch nicht :-)
Cheatah