mysql 레코드 생성 타임스탬프 자동 저장
타임스탬프가 생성될 때마다 mysql이 레코드 행에 자동으로 저장할 수 있는 방법이 있습니까?current_timestamp를 기본값으로 사용하는 타임스탬프(데이터 유형)를 사용하려고 했지만 레코드가 업데이트될 때마다 업데이트된다는 것을 깨달았습니다.타임스탬프 생성을 저장할 수 있는 무언가가 필요합니다.
감사해요.
CURRENT_TIMESTamp를 사용하도록 DEFAULT 제약 조건을 설정합니다.
CREATE TABLE ...
your_date_column DATETIME DEFAULT CURRENT_TIMESTAMP
...
기존 테이블의 경우 ALTER TABLE 문을 사용합니다.
ALTER TABLE your_table
ALTER COLUMN date_column SET DEFAULT CURRENT_TIMESTAMP
date_column에 값을 지정하지 않으면 기본값은 INSERT 문이 실행된 날짜 및 시간이 됩니다.NULL
그리고.DEFAULT
열이 null일 경우 기본 제약 조건을 사용하려면 유효한 값을 선택합니다.
MySQL의 타임스탬프에 대한 자세한 내용은 https://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html 에서 확인할 수 있습니다.
중요한 점은 타임스탬프 열을 DEFAULT CURRENT_TIMESTamp 절로 정의하고 ON UPDATE 절이 없는 경우 열에 기본값에 대한 현재 타임스탬프가 있지만 자동으로 업데이트되지 않는다는 것입니다.
하지만 주의하세요.분명히 해야 할 일은 타임스탬프 열이 두 개 있는 것입니다. 하나는 생성 시간이고 다른 하나는 마지막 업데이트 시간입니다.안타깝게도 MySQL이 이를 지원하지 않는다는 것은 문서화된 MySQL 제한 사항입니다.MySQL에 이상한 제한이 있는 이유를 모르겠습니다. 이 일반적인 사용 사례에 문제가 있는 다른 주요 데이터베이스는 없습니다.
FYI = "Dat time"은 날짜와 시간이 고정되어 있습니다."타임스탬프"는 가변 날짜 및 시간 -- 시스템 시간입니다.
두 개의 열이 있습니다.생성 색상 하나, 업데이트 색상 하나.
다음 명령은 hello 테이블을 만듭니다.
1. 아이디 정수
2. create_at with current time.
create table hello (id int, created_at datetime DEFAULT CURRENT_TIMESTAMP);
Create Table myTableName
(
userId int primary key
userJoiningDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
https://www.mysqltutorial.org/mysql-timestamp.aspx
타임 스탬프를 만들 때 기록되는 열을 만드는 방법은 다음과 같습니다.해당 행이 변경/업데이트 될 때마다 timeStamp를 업데이트하는 방법을 알고 싶으시면 위 링크를 확인해주세요.
테스트에서 선택 * 타임스탬프 >= CURDATE() 및 타임스탬프 < CURDATE() + 타임스탬프별 1일 간격 순서;
언급URL : https://stackoverflow.com/questions/4870536/mysql-automatically-store-record-creation-timestamp
'programing' 카테고리의 다른 글
Swift의 불변/가변 컬렉션 (0) | 2023.10.10 |
---|---|
jQuery-UI의 자동 완성이 잘 표시되지 않음, z-index 문제 (0) | 2023.10.10 |
내용 길이에 따라 크기를 조정할 텍스트 영역 (0) | 2023.10.10 |
HTMLCollection, NodeLists, 객체 배열 간의 차이 (0) | 2023.10.05 |
Jquery 배경색 변경 (0) | 2023.10.05 |