2012-12-18 7 views
-1

product_categoryproduct_name 필드를 가진 MySQL 테이블이 있습니다. product_name 앞에 product_category을 추가하고 특정 product_category을 업데이트하고 싶습니다.PHP MySQL이 한 필드의 내용을 다른 필드의 내용에 추가합니다.

어떻게하면됩니까? product_categoryproduct_name의 일부인 수백 개의 레코드를 입력 한 후 깨달았습니다.

+0

을 시도 했습니까? –

+0

당신은 그렇게 할 수는 있지만 나중에 문제가 발생하지 않도록하려면 데이터가 가능한 한 원자 적이어야하기 때문에 그렇게해서는 안됩니다. – brezanac

답변

3

당신은 분리와 함께, null 값을 건너 뛰는, 문자열을 연결 CONCAT_WS을 사용할 수 있습니다, 이것은 당신의 업데이트 쿼리 수 :

UPDATE your_table 
SET product_name = CONCAT_WS(' ', product_category, product_name) 
WHERE product_category = 'category' 
+0

감사합니다. 나는 그것이 쉬워야한다는 것을 알았다. 그것은 아주 잘 돌아갔다. 나는 비교적 초보자이며, 당신의 도움에 감사드립니다. –

0

당신은 실행됩니다 : 당신은 무엇을

UPDATE `tablename` SET product_name = product_category.' '.product_name WHERE product_category = ? 
+0

나는 SQL의 concat 연산자가 ||라고 생각한다. –

+0

@DavidChan : 기본적으로 ['PIPES_AS_CONCAT'] (http://dev.mysql.com/doc/ko/server-sql-mode.html#sqlmode_pipes_as_concat)가 아니라면 MySQL에서'||'는 논리적으로'OR'됩니다. SQL 모드가 활성화됩니다 (이 경우 문자열 연결). ['CONCAT()'] (http://dev.mysql.com/doc/en/string-functions.html#function_concat) 함수는 모든 상황에서 MySQL의 문자열 연결입니다. – eggyal

+0

팁에 대한 @eggyal 감사! –

관련 문제