복붙노트

[SQL] 업데이트 타임 스탬프없이 업데이트 항목

SQL

업데이트 타임 스탬프없이 업데이트 항목

나는 속성을 "ON UPDATE CURRENT_TIMESTAMP"와 MySQL의 테이블에 타임 스탬프를 가지고있다. 수동으로 해제 업데이트하는 방법은 특별한 날에 타임 스탬프가 있습니까? (예 : 항목을 업데이트하는 블로그 게시물을 수정,하지만 다시 최신으로합니다)

해결법

  1. ==============================

    1.당신 같은 소리는 단지 삽입에 열을 채 웁니다 있도록 기본 제약 조건을 구성해야합니다 :

    당신 같은 소리는 단지 삽입에 열을 채 웁니다 있도록 기본 제약 조건을 구성해야합니다 :

    DEFAULT CURRENT_TIMESTAMP
    

    그것의 변경은 어떤 버전을 업데이트하는 타임 스탬프 값을 트리거하지 않습니다이 수단이 될 수 있습니다. IE : 어제 블로그 게시물을 작성, 오늘 오타를 수정하는 경우 - 열의 날짜가 여전히 어제 될 것이다.

  2. ==============================

    2.수동 업데이트 명령의 현재 값으로 컬럼의 값을 설정할 수 있습니다 :

    수동 업데이트 명령의 현재 값으로 컬럼의 값을 설정할 수 있습니다 :

    UPDATE table SET x=y, timestampColumn=timestampColumn WHERE a=b;
    

    쿼리의 값을 설정하지 않으면, 테이블 정의에 따라 현재 타임 스탬프로 업데이트됩니다.

  3. ==============================

    3.테이블 / 타임 스탬프 자동 업데이트를 만들려면 :

    테이블 / 타임 스탬프 자동 업데이트를 만들려면 :

    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;
    

    참고 :이 필드를 잘 작성하지 null이 때문에 "기본 CURRENT_TIMESTAMP"부분은 그냥 기본 시간에 현재 스탬프로 설정합니다. 만약 당신이 좋아하면 당신은 NOT NULL 기본을 모두 제거 할 수 있습니다.

  4. ==============================

    4.타임 스탬프를 사용하지만, 수동으로 시간을 추적하지 않습니다.

    타임 스탬프를 사용하지만, 수동으로 시간을 추적하지 않습니다.

    당신은 정말 레코드를 업데이트 할과 그것의 타임 스탬프 사용을 업데이트하지 않는 경우 :

    UPDATE `table` SET `timestamp` = `timestamp`, `col` = 'new data' …;
    
  5. ==============================

    5.이 업데이트에 대한 변경 timestemp을 할 경우에 당신은 그 때 업데이트되지 않습니다 "업데이트 Current_timestemp에"이 상황에 당신이 timestemp를 설정해야합니다 값이 변경 업데이트가 아닌 경우 (값 저장 업데이트) 당신의 고려 필요 수동으로

    이 업데이트에 대한 변경 timestemp을 할 경우에 당신은 그 때 업데이트되지 않습니다 "업데이트 Current_timestemp에"이 상황에 당신이 timestemp를 설정해야합니다 값이 변경 업데이트가 아닌 경우 (값 저장 업데이트) 당신의 고려 필요 수동으로

    SET LastUpdatedDate=NOW() WHERE
    

    아이디어는 여기에서 온 : 업데이트 타임 스탬프 필드에 MYSQL 기록을 터치

  6. from https://stackoverflow.com/questions/2844863/updating-entry-without-updating-timestamp by cc-by-sa and MIT license