본문 바로가기
MySql

MySQL UPDATE에 타임 스탬프를 자동으로 삽입하도록 필드를 설정 하시겠습니까?

by 베이스 공부 2020. 10. 28.
반응형

product_price 라는 DEC 필드가있는 테이블이 있고 price_updated_date 라는 필드를 추가하고 싶습니다. product_price 필드가 업데이트 될 때마다 현재 타임 스탬프를 자동으로 삽입하도록 테이블을 설정하는 방법이 있습니까?

그렇지 않은 경우 항목이 업데이트 될 때마다 현재 타임 스탬프를 삽입하도록 설정하는 방법이 있습니까?

트리거를 사용하는 것이 여기에서 가장 좋은 옵션 인 것 같습니다. 트리거를 처음 사용하고 생성하는 데 문제가 있습니다. 내 코드는 다음과 같습니다.

CREATE TRIGGER price_update
AFTER UPDATE ON cart_product
FOR EACH ROW
IF(OLD.product_price != NEW.product_price)
THEN
UPDATE cart_product 
SET price_updated_date = CURDATE()
WHERE product_id = NEW.product_id

이 오류가 발생합니다.

# 1064-SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 8 행에서 ''근처에서 사용할 올바른 구문을 확인하십시오.

 

해결 방법

 

응, 테이블 업데이트 후 트리거 생성

CREATE TRIGGER price_update AFTER _table_ for each row UPDATE _table_ SET price_updated_date = CURTIME () where id = NEW.id

 

참조 페이지 https://stackoverflow.com/questions/4246971

 

 

반응형

댓글