현재 값이 업데이트 될 값보다 작 으면 product_quantity를 업데이트 할 SQL 문을 작성하려고합니다 ... 문에 조건을 추가하는 방법에 대한 예제를 제공 하시겠습니까?SQL 문에 조건을 할당하는 방법이 있습니까?
UPDATE Product
SET product_quantity='5'
WHERE id='2'
현재 값이 업데이트 될 값보다 작 으면 product_quantity를 업데이트 할 SQL 문을 작성하려고합니다 ... 문에 조건을 추가하는 방법에 대한 예제를 제공 하시겠습니까?SQL 문에 조건을 할당하는 방법이 있습니까?
UPDATE Product
SET product_quantity='5'
WHERE id='2'
같은 간단한 조건을 사용할 수 있습니다. 5
은 두 가지 경우 모두에서 동적 값으로 대체되어야합니다.
UPDATE Product
SET product_quantity='5'
WHERE id='2' AND product_quantity < 5
또한
UPDATE Product
SET product_quantity= GREATEST('5', product_quantity)
WHERE id='2'
을 사용할 수 있습니다하지만 난 첫 번째 옵션이 더 나은 선택이라고 생각 :
최근 변경 시간 또는 표준시를 추적하는 경우 영향을 줄 수 있습니다. 그런 식으로.
글쎄, 당신은 같은 것을 할 수 있습니다 @dognose가 말한
UPDATE Product
SET product_quantity = 5
WHERE id = 2 AND product_quantity < 5
또는 같은
, 당신은GREATEST()
기능을 사용할 수 있습니다.
UPDATE Product
SET product_quantity = GREATEST(5, product_quantity)
WHERE id = 2
또는 당신은 그냥 어디 조건에 추가이
UPDATE Product
SET product_quantity = (
CASE WHEN product_quantity < 5 THEN 5
ELSE product_quantity END
)
WHERE id = 2
이렇게 'MAX'를 사용할 수 없습니다. 대신에'GREATEST()'를 사용해야합니다. – invisal
@invisal 당신은 맞습니다 - 그냥 fiddl'd 그것을 밖으로 :) – dognose