2012-07-19 3 views
0

다중 연결을 사용하는 MySQL 업데이트 구문을 이해할 수 없습니다. 데이터베이스에 저장된 문자열의 끝에 문자열을 추가 할 수 있지만 한 번에 여러 개의 열에 추가 할 수 있기를 원합니다. 나는이concat()을 사용하여 단일 MySQL 업데이트에서 여러 열을 추가하는 방법

UPDATE `table1`.`column1` SET `category1` = CONCAT(category1,'$value[0]',) WHERE `id`='$id'; 

로 잘 한 번에 하나의 열을 수행 할 수 있습니다하지만이 같은 테이블에 여러 컬럼에 그것을하려고 할 때 구문 오류가 발생합니다.

UPDATE `table1`.`column1` 
SET `category1` = CONCAT(category1,'5'), 
    `category2` = CONCAT(category2,'5'), 
    `category3` = CONCAT(category3,'5'), 
    `category4` = CONCAT(category4,'5'), 
    `category5` = CONCAT(category5,'5'), 
    `comments` = CONCAT(comments, 'jfsaklfsad') 
WHERE `for_student_id`='46'; 

"당신은 당신의 SQL 구문에 오류가 있습니다;"

각 연결을 구분하는 구문을 찾을 수 없습니다.

+3

그건 단지 - 우리가 table1'이 테이블'가정하면, 그렇지 않으면 우리에게 당신의 테이블 구조 – mdo

+2

를 보여 당신은 SET 전에 열없이 테이블 이름을 참조해야합니다 , 그러면'column1'은 무엇입니까? –

+0

스키마 (데이터베이스 이름), UPDATE mydatabase.table1 SET ' – spencer7593

답변

6

MySQL 문서에 따르면 UPDATE은 이러한 구문을 지원하지 않습니다. "... UPDATE의 표 1의 SET"

아마도
UPDATE `table1` 
SET `category1` = CONCAT(category1,'5'), 
    `category2` = CONCAT(category2,'5'), 
    `category3` = CONCAT(category3,'5'), 
    `category4` = CONCAT(category4,'5'), 
    `category5` = CONCAT(category5,'5'), 
    `comments` = CONCAT(comments, 'jfsaklfsad') 
WHERE `for_student_id`='46'; 
관련 문제