이런 형식으로 테이블을 만들었을때
리뷰를 남긴다고 할때
id는 자동으로 기록될것이고
200자 내외로 리뷰내용을 남길수 있고
리뷰를 남길때의 시간이 기록 될것이다
그렇다면
insert into comment
(content, createdAt)
values
('좋아요', now() );
이런 형식으로 적혀지겠는데
늘 컬럼 이름과 now()를 적을 일 없이
디폴트 셋팅을 해두자
이렇게 작성하지 않으면 기본값에 null대신 now() 로 하고
어플라이를 하면
current_timestamp로 바뀌었지만
뜻은 같다라는것을 알고 있다
그래서 이제
아래와 같이 작성하게 되면
insert into comment
(content)
values
('진짜 맛있네요~' );
알아서 입력시간이 저장이 되게 됐다
다음은
수정시간
insert into comment
(content)
values
('별 5개 입니다' );
만약 이렇게 입력하여 별 5개를 주었는데
나중에 마음이 바뀌어 리뷰를 변경 했다고 하자
그럴때 수정된 시간도 기록하는것이 좋지 않을까?
유튜브댓글이나 리뷰댓글에서
종종 (수정됨)을 목격 했을것이다
그래서 이번에는
updateAt을 만들어주고
디폴트세팅에
now() on update now()라고 적어주자
그러면 또 바뀌어서 저장된다
그러면 이제 다시
insert into comment
(content)
values
('별 5개 입니다' );
라고 입력하게 되면
처음부터 작성시간과 수정시간이 같이 기록되며
수정을 하게되면
update comment
set content = '별 4개 입니다'
where id = 4;
update comment
set content = '별 3개 입니다'
where id = 4;
작성시간은 그대로 유지되고
수정시간이 업데이트 되게 된다
'MYSQL' 카테고리의 다른 글
MYSQL - 다중테이블 (0) | 2024.05.16 |
---|---|
MYSQL - 이중테이블, foreign key, join( ) -left,right, cascade (0) | 2024.05.16 |
MYSQL - Date, Time, DateTime (0) | 2024.05.16 |
MYSQL - CASE문 작성법, if( ) 사용법 (0) | 2024.05.14 |
MYSQL - null 확인법 is null( ), null 처리법 ifnull( ) (0) | 2024.05.14 |