반응형
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
반응형
'MySql' 카테고리의 다른 글
MySQL 명령 줄을 사용하여 SQL 쿼리를 TXT로 내보내는 방법 (0) | 2020.10.28 |
---|---|
MySQL Laravel 5.4에서 외래 키 bigInteger를 bigIncrements로 설정 (0) | 2020.10.28 |
MySQL 잘못된 날짜 시간 형식 : 1292 잘못된 날짜 시간 값 (0) | 2020.10.28 |
MySQL MYSQL : 테이블 "bar"에서 문자열 "foo"를 포함하는 모든 행 삭제 (0) | 2020.10.28 |
MySQL 순간으로 MySQL 날짜 구문 분석 (0) | 2020.10.28 |
댓글