2013-01-11 11 views
8

Co staram się zrobić jej edytować informacje z rzędu dodanie większej ilości danych, na przykład:MySQL złączyć ciąg do kolumny

select name, obs from users where area='it' 

Daje mi:

name  obs 
charles vegetarian 
xena  otaku 

i Chcę dodać do „przyjazny pracowity” The ich obs

próbowałem:

update users set obs=obs+' frienly hard worker' where area='it' 

ale to nie działa, co powoduje, że chcę to:

name  obs 
charles vegetarian frienly hard worker 
xena  otaku frienly hard worker 
+0

Co masz na myśli mówiąc "to nie działa"? Co się stało? Pamiętaj, że użycie zwrotu "nie zadziałało" zwykle jest atutem dla downvotes, więc bądź ostrożny! Nie należy również pisać tytułów/pytań w wersjach pełnych. – halfer

Odpowiedz

25

W MySQL, znak plus + jest operand do wykonywania operacji arytmetycznych.

Musisz użyć funkcji CONCAT(), aby połączyć ciągi razem.

UPDATE users 
SET obs = CONCAT(obs,' frienly hard worker') 
WHERE area='it'; 
+0

TAK, JESTEŚ PRAWDĘ, NIE WIEMY, DLACZEGO ZAPOMNIAMEM FUNKCJI ... NIGDY UMYSŁU DZIĘKUJE ZA WSZYSTKO :) – user1920062

+0

Prawdopodobnie dlatego, że w większości języków można po prostu użyć '+' lub '&'. =) dziękuję za zaakceptowanie odpowiedzi. –

1
update users set obs= CONCAT('string1', column1 , 'string2', column1 , 'string3') where area='it'