2009-03-25 10 views

Antwort

213

Sie die CONCAT Funktion, das zu tun verwenden können:

UPDATE tbl SET col=CONCAT('test',col); 

Wenn Sie cleverer und nur Update Spalten zu erhalten, die nicht bereits Testvorangestellt haben versuchen,

UPDATE tbl SET col=CONCAT('test',col) 
WHERE col NOT LIKE 'test%'; 
5

Das ist ein einfaches

UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn); 
+0

Korrigieren Sie bis zur WHERE-Klausel, in der Sie nur Tests für Spalten durchführen, die bereits mit test beginnen. Also: foo -> foo footest -> footest testfoo -> testtestfoo –

+0

Danke, ich denke, die Frage falsch verstanden :) – soulmerge

15
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...] 
+0

Update TICKET Satz status_details = CONCAT (Status _details, 'abc'), wo ticket_id = 75108; FEHLER 1583 (42000): Falsche Parameter im Aufruf der nativen Funktion 'CONCAT' –

5

viele String-Update-Funktionen in myqsl scheint so zu funktionieren: Wenn ein Argument null ist, dann, verketten oder andere Funktionen geben auch null zurück. Also, ein Feld mit Null-Wert zu aktualisieren, setzen Sie sich zuerst auf einen Nicht-Null-Wert, wie zum Beispiel ''

Für Ex:

update table set field='' where field is null; 
update table set field=concat(field,' append'); 
0
  • UPDATE table_name SET Spalte1 = CONCAT ('newtring ‘, table_name.Column1) wobei 1
  • UPDATE Tabellen_Name SET Column1 = CONCAT ('newtring', table_name.Column2) wobei 1
  • UPDATE Tabellen_Name SET Column1 = CONCAT ('newtring', table_name.Column2, 'newtring2') wo 1

Wir können die gleiche Spalte oder auch andere Spalte der Tabelle concat.

Verwandte Themen