2009-03-25 12 views

Odpowiedz

213

Można użyć funkcji CONCAT to zrobić:

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

Jeśli chcesz dostać mądrzejszy i kolumn tylko aktualizacja, która nie już testy poprzedzany spróbuj

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

To prosta

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

Skoryguj do klauzuli WHERE, w której tylko konkat test do kolumn już zaczynających się od testu. Tak więc: foo -> bla footest -> footest testfoo -> testtestfoo –

+0

Dzięki Chyba mam pytanie źle :) – soulmerge

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

aktualizacja BILET zestaw status_details = Concat (_details status, 'abc') gdzie TICKET_ID = 75108; BŁĄD 1583 (42000): Niepoprawne parametry w wywołaniu funkcji natywnej "CONCAT" –

5

wiele funkcji aktualizacji ciągów w myqsl działa tak: jeśli jeden argument jest pusty, to konkatenacja lub inne funkcje zwracają także wartość null. Tak, aby zaktualizować pola z wartością null, najpierw ustawić go na niepuste wartości, takie jak ''

Dla ex:

update table set field='' where field is null; 
update table set field=concat(field,' append'); 
0
  • UPDATE nazwa_tabeli SET COLUMN1 = CONCAT ("newtring ”table_name.Column1), w którym jeden
  • SET UPDATE table_name Kolumna1 = CONCAT ('newtring' table_name.Column2), w którym jeden
  • SET UPDATE table_name Kolumna1 = CONCAT ('newtring' table_name.Column2 'newtring2') gdzie 1

Możemy połączyć tę samą kolumnę lub inną kolumnę tabeli.