타입 각 행에 대한 MySQL 자동 저장 datetime




mysql timestamp 변환 (5)

비슷한 질문이 " Timestamp for MySQL "에서 타임 스탬프 필드에 액세스 할 때마다 업데이트됩니다. 또한 해당 테이블에 자동으로 필드를 채우는 Trigger 고려할 수 있습니다. 환경에 따라 일부 상점 / 기업에서는 트리거를 사용하지 않으므로 다른 대안을 찾아야 할 수도 있습니다.

MySQL에서는 dt_createddt_modified (각각 생성 날짜와 마지막으로 수정 된 날짜 타임 스탬프) 열을 데이터베이스에있는 모든 테이블에 추가하는 dt_created dt_modified 이있다.

데이터베이스를 INSERT 또는 UPDATE 할 때마다 NOW() 키워드를 사용해야합니다. 이것은 내 끈기로 끝나고 있습니다.

MySQL이 삽입 된 행의 데이터 시간을 자동으로 저장할 수있는 효율적인 대안이 있습니까?


ALTER TABLE  `tablename` CHANGE  `dt`  `dt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

올바른 코드 여야합니다.


phpmyadmin에서 다음을 설정할 수 있습니다.

또는이 쿼리 사용

ALTER TABLE  `tablename`
    CHANGE  `dt_created`  `dt_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

DEFAULT 제약 조건을 사용하여 타임 스탬프를 설정할 수 있습니다.

ALTER TABLE
 MODIFY dt_created datetime DEFAULT CURRENT_TIMESTAMP

ALTER TABLE
 MODIFY dt_modified datetime DEFAULT ON UPDATE CURRENT_TIMESTAMP

그런 다음 INSERT / UPDATE 문에 NOW() 를 지정하지 않아도됩니다.

참조 : TIMESTAMP 속성


음, 둘 다 가질 수는 없습니다.

mysql doc :

현재 시간 소인을 한 열에 대해서는 기본값으로하고 다른 열에 대해서는 자동 갱신 값으로 지정할 수 없습니다.

슬픈가요?

그러나이 팁 다음 에 now () 대신 null을 사용할 수 있습니다.





audit