2015-01-16 2 views
0

이 쿼리에 문제가 있습니까?SQL 쿼리 업데이트 여러 필드

UPDATE user166x136 
SET desc = CASE id 
WHEN 18 THEN 'apple' WHEN 14 THEN 'banana' WHEN 21 THEN 'pear' WHEN 17 THEN 'orange' WHEN 19 THEN 'lemon' 
      END 
WHERE id IN (18,14,21,17,19) 

idINT
descVARCHAR

답변

1

DESCreserved keyword 임. 그것을 사용하려면 틱으로 포장해야합니다.

SET `desc` = CASE id 

또한 orange

WHEN 17 THEN orange' 
      ^^^^ 
      HERE 

전에 견적을 놓치고 그것은

WHEN 17 THEN 'orange' 

되어야하고 민에 의해 지적 마지막으로, 당신은 END CASECASE을 놓치고있어

END CASE 

모자를 써서 오류가 발생했습니다.

+0

들으 누락 생각하지만, 여전히 업데이트 된 버전 – Bzyzz

+0

에서 작동하지 않는 오류 mysql을 당신에게 제공보기 –

+0

Ahhhhhhhh ... 좋은 캐치! 감사 :) – Bzyzz

0

난 당신이 END CASE 키워드

UPDATE user166x136 
SET `desc` = CASE id 
      WHEN 18 THEN 'apple' 
      WHEN 14 THEN 'banana' 
      WHEN 21 THEN 'pear' 
      WHEN 17 THEN 'orange' 
      WHEN 19 THEN 'lemon' 
      END CASE 
WHERE id IN (18,14,21,17,19)