타임스탬프를 업데이트하지 않고 항목을 업데이트하는 중
mysql 테이블에 "ON UPDATE CURRENT_TIMESTamp" 속성이 있는 타임스탬프가 있습니다. 특별한 경우 타임스탬프 업데이트를 수동으로 비활성화하는 방법이 있습니까?(예: 블로그 투고를 수정하기 위해 엔트리를 갱신하지만 날짜를 갱신하지 않음)
update 명령어로 컬럼 값을 수동으로 현재 값으로 설정할 수 있습니다.
UPDATE table SET x=y, timestampColumn=timestampColumn WHERE a=b;
쿼리에서 값을 설정하지 않으면 테이블 정의에 따라 현재 타임스탬프로 업데이트됩니다.
특별한 경우에 타임스탬프 업데이트를 수동으로 비활성화하는 방법이 있습니까?(예: 블로그 투고를 수정하기 위해 엔트리를 갱신하지만 날짜를 갱신하지 않음)
삽입 시에만 열을 채우도록 기본 제약 조건을 구성해야 할 것 같습니다.
DEFAULT CURRENT_TIMESTAMP
이 값만 변경해도 타임스탬프 값이 업데이트되지 않습니다.IE: 어제 블로그 포스트를 만들고 오늘 오타를 수정한 경우 - 컬럼의 날짜는 어제 날짜입니다.
테이블/타임 스탬프를 자동 갱신하려면:
ALTER TABLE myTable
CHANGE myTimestampColumn
myTimestampColumn TIMESTAMP NOT NULL
DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;
자동 업데이트를 하지 않으려면:
ALTER TABLE myTable
CHANGE myTimestampColumn
myTimestampColumn TIMESTAMP NOT NULL
DEFAULT CURRENT_TIMESTAMP;
메모: "default current_timestamp" 부분은 필드가 null이 아니기 때문에 기본 시간에 현재 스탬프로 설정합니다.필요에 따라 null이 아닌 것과 기본값을 모두 제거할 수 있습니다.
타임스탬프를 사용하지 말고 수동으로 시간을 추적하십시오.
레코드를 업데이트하고 타임스탬프를 업데이트하지 않으려면 다음을 사용합니다.
UPDATE `table` SET `timestamp` = `timestamp`, `col` = 'new data' …;
업데이트 시 timemp를 변경할 경우 값이 업데이트되었지만 변경되지 않은 경우(저장 값 업데이트) "on update Current_timestemp"가 업데이트되지 않음을 고려해야 합니다.이 상황에서는 수동으로 timemp를 설정해야 합니다.
SET LastUpdatedDate=NOW() WHERE
아이디어는 여기서 나왔습니다.MYSQL 레코드를 터치하여 TIMESTAMP 필드를 업데이트합니다.
언급URL : https://stackoverflow.com/questions/2844863/updating-entry-without-updating-timestamp
'programing' 카테고리의 다른 글
Chrome/Mac에서 강제로 DOM 다시 그리기/새로 고침 (0) | 2022.09.24 |
---|---|
UTF8 테이블의 latin1 문자를 UTF8로 변환합니다. (0) | 2022.09.24 |
MySQL 및 GROUP_CONCAT() 최대 길이 (0) | 2022.09.24 |
클래스 파일에 잘못된 버전 52.0이 있습니다. 50.0이어야 합니다. (0) | 2022.09.24 |
"throw new Error"와 "throw some Object"의 차이점은 무엇입니까? (0) | 2022.09.24 |