2017-12-20 7 views
0

MySQL 5.7.20, 우분투 16.04를 사용하고 있습니다.MySQL 저장 방법 타임 스탬프

내 쿼리는 다음과 같습니다

보시다시피
mysql> CREATE TABLE test (ts TIMESTAMP NULL); 

mysql> INSERT INTO test VALUES (1513776043); 

mysql> SELECT * FROM test; 
+---------------------+ 
| ts     | 
+---------------------+ 
| 0000-00-00 00:00:00 | 
+---------------------+ 

, 타임 스탬프가 저장되지 않습니다. MySQL에 타임 스탬프를 저장하는 방법?

답변

2

유닉스 타임 스탬프이므로 from_unixtime()으로 변환해야합니다.

INSERT INTO test VALUES (FROM_UNIXTIME(1513776043)); 
+0

from_unixtime 함수는 서버의 시간대에 따라 다르며 타임 스탬프는 서버에 따라 다릅니다. 예 : set time_zone = '+00 : 00'; FROM_UNIXTIME (1513776043)을 선택하십시오. 2017-12-20 13:20:43을 반환하고, time_zone = '+03 : 00'을 설정합니다. 반환 : 2017-12-20 16:20:43 –

+0

좋아, 이해했습니다. MySQL은 타임 스탬프 필드를 정수로 저장하고, 'select UNIX_TIMESTAMP (ts) from test'는 시간대에 의존하지 않는다. –