๐Ÿ’ป Programming/SQL

[SQL] ๋‚ ์งœํ˜• ๋ฐ์ดํ„ฐ - DATETIME๊ณผ TIMESTAMP ์ฐจ์ด๋ฅผ ์ค‘์ ์œผ๋กœ (MySQL)

dev-ong 2024. 7. 11. 13:15

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ•„์ˆ˜๋กœ ์“ฐ์ด๋Š” ๋‚ ์งœํ˜• ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋‘๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

4๊ฐ€์ง€ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋Œ€ํ•œ ์ •๋ฆฌ์™€ ์ผ์ž์™€ ์‹œ๊ฐ„์„ ๋ชจ๋‘ ํ‘œํ˜„ํ•˜๋Š” DATETIME๊ณผ TIMESTAMP์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. DATE, DATETIME, TIMESTAMP, TIME

MySQL์—์„œ๋Š” ์ผ์ž์™€ ์‹œ๊ฐ„์„ ํ‘œํ˜„ํ•˜๊ธฐ์œ„ํ•ด DATE, DATETIME, TIMESTAMP, TIME ํƒ€์ž…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  DATE DATETIME TIMESTAMP TIME
์ƒ์„ธ ์ผ์ž๋งŒ ํ‘œํ˜„ - ์ผ์ž์™€ ์‹œ๊ฐ„ ํ‘œํ˜„
- ์ตœ๋Œ€ ๋งˆ์ดํฌ๋กœ์ดˆ ์ •๋ฐ€๋„์˜ ์†Œ์ˆ˜ ์ดˆ๋ฅผ ํฌํ•จ ๊ฐ€๋Šฅ
- ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์œผ๋กœ ์ž๋™ ์ดˆ๊ธฐํ™” ๋ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅ
- ์ผ์ž์™€ ์‹œ๊ฐ„ ํ‘œํ˜„
- (default) NOT NULL
- Timezone ๊ธฐ๋ฐ˜
- ์ตœ๋Œ€ ๋งˆ์ดํฌ๋กœ์ดˆ ์ •๋ฐ€๋„์˜ ์†Œ์ˆ˜ ์ดˆ๋ฅผ ํฌํ•จ ๊ฐ€๋Šฅ
- ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์œผ๋กœ ์ž๋™ ์ดˆ๊ธฐํ™” ๋ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅ
์‹œ๊ฐ„๋งŒ ํ‘œํ˜„
ํ˜•์‹ YYYY-MM-DD YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss hh:mm:ss
๋ฒ”์œ„ '1000-01-01'
~'9999-12-31'
'1000-01-01 00:00:00'
~ '9999-12-31 23:59:59'
'1970-01-01 00:00:01' UTC
~ '2038-01-19 03:14:07' UTC
'-838:59:59' ~'838:59:59' 
์šฉ๋Ÿ‰ 3byte 8byte 4byte 3byte

 

์ผ์ž์™€ ์‹œ๊ฐ„์„ ๋ชจ๋‘ ํ‘œํ˜„ํ•˜๋Š” DATETIME๊ณผ TIMESTAMP๋Š” ์–ผํ•๋ด์„œ๋Š” ๋น„์Šทํ•œ๋ฐ, ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 

์ด ๋‘˜์˜ ์ฐจ์ด๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์—๋Ÿฌ์‚ฌํ•ญ์„ ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ฐจ์ด์ ์„ ํ•œ ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2. DATETIME vs TIMESTAMP

1) ๋ฒ”์œ„

์ผ์ž์™€ ์‹œ๊ฐ„์„ ๋ชจ๋‘ ํ‘œํ˜„ํ•˜๋Š” ๋‘ ํƒ€์ž…์€ ์ผ๋‹จ ํ‘œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ ๋ฒ”์œ„์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

DATETIME์˜ ๋ฒ”์œ„๋Š” '1000-01-01 00:00:00' ๋ถ€ํ„ฐ '9999-12-31 23:59:59' ๋กœ, ์‹œ๊ฐ„๋Œ€์— ๊ด€๊ณ„์—†์ด ์ ˆ๋Œ€์ ์ธ ์ผ์ž์™€ ์‹œ๊ฐ„์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

TIMESTAMP์˜ ๋ฒ”์œ„๋Š” '1970-01-01 00:00:01' UTC ๋ถ€ํ„ฐ '2038-01-19 03:14:07' UTC ๋กœ, ๋ฐ์ดํ„ฐ๊ฐ€ UTC๋กœ ๋ณ€ํ™˜๋˜์–ด ์ €์žฅ๋˜๋ฉฐ ๊ฒ€์ƒ‰์‹œ ํ˜„์žฌ ์‹œ๊ฐ„๋Œ€๋กœ ๋ณ€ํ™˜์ด ๋ฉ๋‹ˆ๋‹ค. TIMESTAMP์˜ ๋ฒ”์œ„๋Š” Unix ์‹œ๊ฐ„๊ณผ ๊ด€๋ จ์ด ์žˆ์–ด, 2038๋…„ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ตœ๋Œ€ ๋ฒ”์œ„๊ฐ€ 2038๋…„๊นŒ์ง€๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

2) Timezone์˜ ์ ์šฉ ์—ฌ๋ถ€

๋‘ ํƒ€์ž…์€ Timezone์˜ ์ ์šฉ ์—ฌ๋ถ€์— ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Timezone์€ ๋™์ผํ•œ ์‹œ๊ฐ„์„ ๋”ฐ๋ฅด๋Š” ์ง€์—ญ์„ ์˜๋ฏธํ•˜๊ณ , ํ•ด๋‹น ๊ตญ๊ฐ€์— ์˜ํ•ด ๋ฒ•์ ์œผ๋กœ ์ง€์ •๋˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

UTC, Asia/Seoul ๋“ฑ์˜ ํ‘œ๊ธฐ๊ฐ€ ํ•ด๋‹น ์‹œ๊ฐ„์ด ์–ด๋–ค ๋กœ์ปฌ์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•œ ๊ฒƒ์ธ์ง€๋ฅผ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

MySQL์€ TIMESTAMP ๊ฐ’์„ ํ˜„์žฌ ์‹œ๊ฐ„๋Œ€์—์„œ *UTC๋กœ ๋ณ€ํ™”ํ•˜์—ฌ ์ €์žฅํ•˜๊ณ , ๋‹ค์‹œ UTC์—์„œ ํ˜„์žฌ ์‹œ๊ฐ„๋Œ€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

*UTC: ๊ตญ์ œ ํ‘œ์ค€์‹œ

๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜๋Š” ์‹œ๊ฐ„๋Œ€๋Š” ์„œ๋ฒ„ ์‹œ๊ฐ„์œผ๋กœ, ์‹œ๊ฐ„๋Œ€ ์„ค์ •์ด ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€๋œ๋‹ค๋ฉด ์ €์žฅํ•œ ๊ฐ’๊ณผ ๋™์ผํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜๋ฐ›์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ TIMESTAMP ๊ฐ’์„ ์ €์žฅํ•œ ํ›„, ์‹œ๊ฐ„๋Œ€๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ๊ฐ’์„ ์กฐํšŒํ•˜๋ฉด, ์กฐํšŒ ๊ฒฐ๊ณผ๋Š” ์ €์žฅํ•œ ๊ฐ’๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋Œ€ ๋ณ€ํ™˜์‹œ ๋™์ผํ•œ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

*ํ˜„ ์‹œ๊ฐ„๋Œ€๋Š” ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์ธ time_zone ์— ์„ค์ •๋œ ๊ฐ’์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ

์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ €์žฅ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค.

create table date_example
(
  test_date date,
  test_datetime datetime,
  test_timestamp timestamp,
  test_time time
);

insert into date_example values (now(), now(), now(), now());

ํ…Œ์ŠคํŠธ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ  ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

mysql> select * from date_example;
+------------+---------------------+---------------------+-----------+
| test_date  | test_datetime       | test_timestamp      | test_time |
+------------+---------------------+---------------------+-----------+
| 2024-07-09 | 2024-07-09 10:36:17 | 2024-07-09 10:36:17 | 10:36:17  |
+------------+---------------------+---------------------+-----------+
1 row in set (0.00 sec)

์™ผ์ชฝ๋ถ€ํ„ฐ DATE, DATETIME, TIMESTAMP, TIME ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ time_zone์„ ์ˆ˜์ •ํ•ด๋ณด๊ณ  ๋‹ค์‹œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

mysql> SET time_zone = '+01:00';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from date_example;
+------------+---------------------+---------------------+-----------+
| test_date  | test_datetime       | test_timestamp      | test_time |
+------------+---------------------+---------------------+-----------+
| 2024-07-09 | 2024-07-09 10:36:17 | 2024-07-09 02:36:17 | 10:36:17  |
+------------+---------------------+---------------------+-----------+
1 row in set (0.00 sec)

time_zone์— ๋ณ€ํ™”๋ฅผ ์ฃผ๊ณ  ์กฐํšŒํ•ด๋ณด๋‹ˆ TIMESTAMP ํ˜•์‹์˜ test_timstamp ๊ฐ’๋งŒ ๋ณ€ํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • SET time_zone = '+01:00' : UTC+09:00 ๋ณด๋‹ค 8์‹œ๊ฐ„ ์ด์ „์œผ๋กœ ์„ค์ •

์ด๋Š” ์œ„์—์„œ ๊ธฐ์žฌํ–ˆ๋“ฏ TIMESTAMP ๋Š” ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์ธ time_zone์„ ๊ธฐ์ค€์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ๋•Œ๋ฌธ์— TIMESTAMP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋กœ์ปฌ ์‹œ๊ฐ„์ด ๋‹ค๋ฅธ ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•  ๋•Œ์—๋Š” ์ด๋ฅผ ์œ ์˜ํ•ด์„œ ๊ด€๋ฆฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

TIMESTAMP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ์ปฌ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ํ˜ผ๋ž€์ด ์žˆ์„ ์ˆ˜๋Š” ์žˆ์œผ๋‚˜, ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ• ๋•Œ์—๋Š” ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ DATETIME์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋กœ์ปฌ ์‹œ๊ฐ„์ด ์ œ๋Œ€๋กœ ๋ฐ˜์˜๋˜์ง€ ์•Š์•„์„œ, ์„œ์šธ์—์„œ ์˜ค์ „ 11์‹œ์— ์ž‘์„ฑํ•œ ๊ธ€์„ ๋ฏธ๊ตญ์—์„œ ์กฐํšŒํ•˜๋Š” ๊ฒฝ์šฐ, ๋™์ผํ•˜๊ฒŒ ์˜ค์ „ 11์‹œ๋กœ ๋ฐ˜์˜๋˜๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์‹œ๊ฐ„์ด ๋‹ค๋ฅธ ์ง€์—ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ, TIMESTAMP๊ฐ€ ๋” ์ ํ•ฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ํŠน์ง•๋“ค๋กœ DATETIME์€ ์ ˆ๋Œ€์ ์ธ ์‹œ๊ฐ„ ๊ธฐ๋ก์— ์ ํ•ฉํ•˜๊ณ  TIMESTAMP๋Š” ์‹œ๊ฐ„๋Œ€์— ๋”ฐ๋ผ ๋ณ€ํ™˜์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค.

3) DATETIME ๊ณผ TIMESTAMP์˜ ์ž๋™ ์ดˆ๊ธฐํ™”

DATETIME์™€ TIMESTAMP๋Š” ํ˜„์žฌ ์ผ์ž์™€ ์‹œ๊ฐ„์„ ๊ธฐ๋ณธ๊ฐ’, ์ž๋™ ์—…๋ฐ์ดํŠธ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ž๋™ ์ดˆ๊ธฐํ™”: ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์‹œ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ํ˜„์žฌ ํƒ€์ž„์Šคํƒฌํ”„๋กœ ์„ค์ •
  • ์ž๋™ ์—…๋ฐ์ดํŠธ: ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ์‹œ ์ž๋™์œผ๋กœ ํ˜„์žฌ ํƒ€์ž„ ์Šคํƒฌํ”„๋กœ ๊ฐฑ์‹ 

์„ค์ • ๋ฐฉ๋ฒ•

์ž๋™ ์ดˆ๊ธฐํ™”์™€ ์—…๋ฐ์ดํŠธ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด DATETIME๊ณผ TIMESTAMP ์—ด ์ •์˜์—์„œ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • ์ž๋™ ์ดˆ๊ธฐํ™”๋ฅผ ์œ„ํ•œ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •: DEFAULT ~~
  • ์ž๋™ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•œ ์„ค์ •: ON UPDATE ~~

DATETIME๊ณผ TIMESTAMP๋ฅผ ๊ฐ๊ฐ ํ˜•์‹์œผ๋กœ ๊ฐ€์ง€๋Š” column์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊ฐ’์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

CREATE TABLE t1 (
  ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

์œ„ ํ…Œ์ด๋ธ”์— ์•„๋ฌด ๊ฐ’๋„ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  INSERT๋ฅผ ํ•˜๊ณ  ์กฐํšŒ๋ฅผ ํ•˜๋ฉด, 

insert into t1 values();

์•„๋ฌด ๊ฐ’๋„ ๋„ฃ์ง€ ์•Š์•˜๋Š”๋ฐ๋„ ํ˜„์žฌ ์‹œ๊ฐ„์ด ์ €์žฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mysql> select * from t1;
+---------------------+---------------------+
| ts                  | dt                  |
+---------------------+---------------------+
| 2024-07-09 12:13:49 | 2024-07-09 12:13:49 |
+---------------------+---------------------+
1 row in set (0.00 sec)

 

์ด๋ฒˆ์—” ์•„๋ž˜์™€ ๊ฐ™์€ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด๋ด…์‹œ๋‹ค.

CREATE TABLE t1 (
  ts TIMESTAMP DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  dt DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
);

์œ„์—์„œ ์ •์˜ํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ์ ์€ DEFAULT NULL ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

์ด๋Š” ๊ธฐ๋ณธ๊ฐ’์„ NULL๋กœ ๋‘๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

mysql> INSERT INTO t1 VALUES();
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM T1;
+------+------+
| ts   | dt   |
+------+------+
| NULL | NULL |
+------+------+
1 row in set (0.00 sec)

์œ„์™€ ๋™์ผํ•˜๊ฒŒ ์•„๋ฌด ๊ฐ’๋„ ๋„ฃ์ง€ ์•Š๊ณ  INSERT๋ฅผ ํ•˜๋ฉด, ์ด๋ฒˆ์—๋Š” NULL ๊ฐ’์ด ์ €์žฅ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋งˆ์น˜๋ฉฐ,

์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋ฉด ํ•„์ˆ˜์ ์œผ๋กœ ํฌํ•จ๋˜๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐํ˜•์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ DATETIME๊ณผ TIMESTAMP์˜ ์ฐจ์ด์—์„œ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•˜๋Š”๋ฐ, ์ด๋ฒˆ์— ์ •๋ฆฌํ•˜๊ณ  ์ฐพ์•„๋ณด๋ฉด์„œ ํ•œ๋ฒˆ ๋” ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ ์งœ ๋ฐ์ดํ„ฐ์™€ ๊ด€๋ จํ•ด์„œ๋Š” ๋‹ค์Œ์— ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋“ฑ ์‹ค์ œ๋กœ ๊ฐ’์„ ์กฐํšŒํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

Reference

 

MySQL :: MySQL 8.4 Reference Manual :: 13.2.2 The DATE, DATETIME, and TIMESTAMP Types

13.2.2 The DATE, DATETIME, and TIMESTAMP Types The DATE, DATETIME, and TIMESTAMP types are related. This section describes their characteristics, how they are similar, and how they differ. MySQL recognizes DATE, DATETIME, and TIMESTAMP values in several f

dev.mysql.com

 

MySQL :: MySQL 8.4 Reference Manual :: 13.2.5 Automatic Initialization and Updating for TIMESTAMP and DATETIME

13.2.5 Automatic Initialization and Updating for TIMESTAMP and DATETIME TIMESTAMP and DATETIME columns can be automatically initialized and updated to the current date and time (that is, the current timestamp). For any TIMESTAMP or DATETIME column in a ta

dev.mysql.com