2011-08-13 5 views
0

이미 텍스트가있는 테이블 값을 으로 변경하고 기존 텍스트 앞에 새 텍스트를 추가하는 방법을 보여줄 수 있습니까? 1600+ 개 필드에 추가 텍스트를 추가하려고합니다.테이블을 변경하여 비어 있지 않은 값에 텍스트 추가

나는 MySQL을보고 있으며 CONCAT을 연결하는 참조가 있지만 특정 값 뒤에 텍스트를 추가합니다.

+0

당신이 1600+ 행에 하나 개의 컬럼에 약간의 여분의 텍스트를 추가 할 것을 의미합니까를? 예 : 열은 "foo"값을 가지며 "foo bar"가되기를 원합니다. – johangu

+0

죄송합니다. 빠른 답변을 드려 죄송합니다. 내 질문에 어색함이 있습니다. 새 텍스트를 이전 텍스트의 앞쪽으로 보내주십시오. – wHiTeHaT

+0

1600 개의 레코드가 아니라 필드가 필요합니다. :) –

답변

2

당신이 UPDATE 문을 사용하여 컬럼의 값을 변경하려면 :

update myTable set myColumn = concat('some text before', myColumn, 'some text after') where <where condition> 
1

원하는 곳에 텍스트를 추가 할 수 있습니다. 그냥 원하는대로 연결하십시오.

select *,concat('your_text ',field) as new_text from table 

또는

select *,concat(field,' your_text') as new_text from table 

이 존재도 CONCAT_WS() "분리기"WS 기능 수단.

select *,concat_ws(' ','your_text',field) as new_text from table. 

올바른 새로운 콘텐츠를 얻었 으면 전환 쿼리에서 선택 항목을 변환하십시오. 업데이트 쿼리에서 실수를하기 전에 항상 동일한 선택을 시도하는 것이 좋습니다.

update table set field = concat('new text ',field) 
where field is not null or field <> "" 
+0

Nick ... 고맙습니다. – wHiTeHaT

관련 문제