developer tip

MySQL Workbench :“ON UPDATE”및 CURRENT_TIMESTAMP를 어떻게 설정합니까?

optionbox 2020. 12. 29. 06:59
반응형

MySQL Workbench :“ON UPDATE”및 CURRENT_TIMESTAMP를 어떻게 설정합니까?


참조 : 애플리케이션 또는 데이터베이스에서 타임 스탬프 열을 업데이트 하시겠습니까?

Workbench에서 비슷한 것을 모델링하려고하는데 "ON UPDATE"부분을 어디에 설정해야할지 모르겠습니다. 내가 얻을 수있는 최선의 방법은 다음과 같습니다.

-- -----------------------------------------------------
-- Table `foo`.`test`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `foo`.`test` ;

CREATE  TABLE IF NOT EXISTS `foo`.`test` (
  `test_id` INT NOT NULL ,
  `date_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  `date_updated` TIMESTAMP NOT NULL DEFAULT 0 ,
  PRIMARY KEY (`test_id`) )
ENGINE = InnoDB;

이 ON UPDATE 부분을 설정하려면 Workbench에서 어디로 가야합니까?

또한 데이터베이스에 저장된 모든 타임 스탬프는 UTC 여야한다는 규칙이 있습니다. CURRENT_TIMESTAMP, NOW 등을 UTC로 만들려면 어떻게해야합니까?


MySQL Workbench 5.2.35를 사용하고 있습니다. 테이블 생성 / 변경 패널을 열고 열 탭으로 전환 한 다음 타임 스탬프 필드를 마우스 오른쪽 버튼으로 클릭합니다. 거기에서 가능한 옵션 defaulton update옵션을 볼 수 있습니다.

중요 참고 : CURRENT_TIMESTAMP테이블의 단일 열에 대해서만 기본값 또는 업데이트 된 값으로 사용할 수 있습니다 !

컨텍스트 메뉴를 보여주는 샘플 스크린 샷

UTC 질문과 관련하여이 질문을 볼 수 있습니다 . 거기에 허용 된 해결책이 있습니다.

Timestamp 데이터 유형NOW()기능에 대한 MySQL 참조 설명서도 읽어 보는 것이 좋습니다 .


다음은 MySQL Workbench로 수행하는 작업입니다.

데이터 유형 : TIMESTAMP 기본값 : CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP


기본적으로 MySQL은 모든 또는 에서 첫 번째 timestamp필드를로 설정합니다 . 스키마를 첫 번째 필드로 설계 하여 명시 적으로 지정할 필요가 없습니다.CURRENT_TIMESTAMPUPDATEINSERTupdated_attimestamp

참조 URL : https://stackoverflow.com/questions/8194157/mysql-workbench-how-do-i-set-up-on-update-and-current-timestamp

반응형