mysql 생성/업데이트 시간 필드 시 자동 시간 가져오기

1854 단어 MySQL
MYSQL에서 TIMESTAMP 유형은 다른 유형과 마찬가지로 기본값을 설정할 수 있습니다.
데이터베이스를 만들 때 자동 검색 시간을 설정하려면:
  • CURRENT_TIMESTAMP: 레코드를 처음 삽입할 때 타임 스탬프 가져오기
  • CURRENT_TIMESTAMP on UPDATE CURRENT_TIMESTAMP: 레코드를 업데이트할 때마다 타임스탬프를 업데이트합니다
  • .
    create TABLE IF NOT EXISTS T_WorkLogInfo(
    userId char(18) NOT NULL,
    onDate TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP,
    offDate TIMESTAMP null DEFAULT CURRENT_TIMESTAMP on UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY(userId)
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    만들어진 데이터베이스를 수정하려면 다음과 같이 하십시오.
    alter table t_lineinfo
    MODIFY COLUMN onDate TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP,
    MODIFY COLUMN offDate TIMESTAMP null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
    

    TIPS:
  • CURRENT 설정TIMESTAMP 기본값 이후 기록을 삽입하거나 갱신할 때 이 필드를 유지할 필요가 없습니다. 이 필드는 MySQL에서 완전히 관리하지만datetime 필드를 사용하면 수동으로 시간 업데이트를 구성해야 합니다. 예를 들어 now()와 같습니다.
  • 대 CURRENTTIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 업데이트된 필드 값 (UPDATE) 이 변하지 않으면 MySQL은 업데이트 작업을 무시하기 때문에 시간 스탬프도 바뀌지 않습니다.또한 CURRENT가 여러 개 있는 경우TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 열, MySQL은 첫 번째 열만 업데이트됩니다.
  • 좋은 웹페이지 즐겨찾기