DATABASE/MySQL Workbench

MySQL Workbench : 실시간 날짜 데이터 적용 TIMESTAMP (now() on update now())

신강희 2024. 5. 16. 14:19
728x90

< MySQL 실시간 날짜 데이터 적용 TIMESTAMP >

- 학습을 위해 TIMESTAMP 라는 Datatype이 포함된 테이블을 새로 생성

 

# 새로운 데이터를 넣어보는데 TIMESTAMP로 생성한 createdAt 컬럼에는 now() 함수로 값을 넣어주자.

insert into comment
(content, createdAt)
values
('좋아요' , now() );

insert into comment
(content, createdAt)
values
('맛없어요' , now() );

select *
from comment;

ㄴ 이러면 작성한 시간을 기준으로 현재 시간이 자동으로 입력된다.

 

# 이제 테이블 수정 화면에서 createdAt 컬럼default 값now() 함수를 입력하고 apply

ㄴ default 값이 자동으로 'CURRENT_TIMESTAMP' 로 변경되는것 확인가능!

 

# 이제 createdAt 값 없이 데이터 입력 후 확인

-- 테이블에 createdAT default 값을 now() 함수로 입력하면 자동으로 CURRENT_TIMESTAMP 변환 해줌
-- 그럼 이후부터는 createdAt 값을 입력해주지 않아도 자동으로 현재 시간으로 채워준다.
insert into comment
(content)
values
('진짜 맛있네요~');

select *
from comment;

ㄴ comment를 수정하면 수정날짜만 적용해서 기록하고 싶다.

 

# 이제 테이블 수정 화면에서 updatedAt 이라는 컬럼을 추가하고 default 값 now() on update now() 함수를 입력하고 apply

ㄴ default 값이 자동으로 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' 로 변경되는것 확인가능!

 

# 데이터를 수정해보자

-- 그럼 작업하다보니 수정을 할때도 그 시간도 기록하게 하고싶다.
-- updatedAt 이라는 컬럼을 추가하고 default 값에 now() on update now() 라고 작성후 apply
-- CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 자동으로 수정되어 적용됨.

-- 새로운 데이터를 넣고
insert into comment
(content)
values
('별5개 입니다.');

-- 수정해보면 작성되었던 시간과 수정된 시간이 따로 적용되어 나오는걸 볼수있다. (실무적으로 사용하는 개념)
-- id를 설정해서 그 값에 content 컬럽 값을 수정
update comment
set content = '별 3개 입니다.'
where id = 8;

select *
from comment;

ㄴ 실무적으로 많이 쓰이고, 이력서를 작성할때도 해당 기능활용법에대해서 기재하면 유용하다.

 

다음 게시글로 계속~!

반응형