[MySQL] datetime column에 default 지정하기 > db

본문 바로가기
사이트 내 전체검색

db

[MySQL] datetime column에 default 지정하기

페이지 정보

작성자 서방님 댓글 0건 조회 173회 작성일 15-01-16 13:56

본문

테이블에는 default 값을 설정해줘서 insert 시에 지정해 주지 않아도 자동으로 설정할 수 있다. 귀찮게 모든 필드의 값을 설정하지 않아도 된다. 하지만 datetime의 경우는 default로 지정해 주는 값이 예약어로 정해져 있다. (지금까지 여태 몰랐어 TㅅT 매번 insert 문에 now() 적어줬는데..)

default 외에 row가 수정될 때 마다 값을 바꾸고 싶으면 on update를 사용하면 된다.

mysql> CREATE TABLE test (
-> name VARCHAR(20),
-> regdate DATETIME DEFAULT CURRENT_TIMESTAMP,
-> moddate DATETIME ON UPDATE CURRENT_TIMESTAMP
-> );
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO test (name) VALUES ('user1');
Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM test;
+-------+---------------------+---------+
| name | regdate | moddate |
+-------+---------------------+---------+
| user1 | 2014-03-29 21:30:19 | NULL |
+-------+---------------------+---------+
1 row in set (0.00 sec)

mysql> UPDATE test SET name='user2' WHERE name='user1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT * FROM test;
+-------+---------------------+---------------------+
| name | regdate | moddate |
+-------+---------------------+---------------------+
| user2 | 2014-03-29 21:30:19 | 2014-03-29 21:31:22 |
+-------+---------------------+---------------------+
1 row in set (0.00 sec)

mysql>


처음 insert할 때 moddate도 값을 넣고 싶으면 regdate처럼 DEFAULT를 주면 된다.
CREATE TABLE test (
-> name VARCHAR(20),
-> regdate DATETIME DEFAULT CURRENT_TIMESTAMP,
-> moddate DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
-> );
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO test (name) VALUES ('user1');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM test;
+-------+---------------------+---------------------+
| name | regdate | moddate |
+-------+---------------------+---------------------+
| user1 | 2014-03-29 21:36:08 | 2014-03-29 21:36:08 |
+-------+---------------------+---------------------+
1 row in set (0.00 sec)

mysql>


Datetime Column Type에 기본값 기정하기 - Joy Coding - Hans Wiki에 따르면 MySQL 5.6.5 이상 버전에서 지원한다고 한다.

- 참고
Datetime Column Type에 기본값 기정하기 - Joy Coding - Hans Wiki

댓글목록

등록된 댓글이 없습니다.

Total 464건 6 페이지
게시물 검색

회원로그인

접속자집계

오늘
91
어제
84
최대
1,347
전체
154,462
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.