타입 - mysql timestamp 변환




각 행에 대한 MySQL 자동 저장 datetime (4)

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

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

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


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 속성


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

또는이 쿼리 사용

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

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

mysql doc :

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

슬픈가요?

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


phpmyadmin 을 사용한다면 다음과 같이하면됩니다 :





audit