Mysql Timestamp

格式

YYYY-MM-DD HH:MM:SS, 固定19個字符長度mysql

範圍

'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC
UTC是協調世界時,又稱世界標準sql

時區

插入一個timestamp類型的值時, mysql會將你當前客戶端鏈接的時區轉換成UTC來儲存.默認爲你的mysql server所在的時區code

create table test_timestamp(
t1 timestamp
)

設置時區:
set time_zone = '+00:00';
插入一條數據:
insert into test_timestamp values('2014-06-20 00:00:01');
查詢:
select t1 from test_timestamp;
結果:
2014-06-20 00:00:01
若是將時區修改成
set time_zone = '+03:00'
則查詢出來的結果爲
2014-06-20 00:03:01
p.s: 時區特性只有timestamp類型纔有server

自動初始化和自動更新特性

首先建立一張有兩個timestamp列的表rem

create table ts(
id int auto_increment primary key,
title varchar(255) not null,
changed_on timestamp,
created_on timestamp
)

而後插入一條新記錄
inset into ts(title) values('test mysql timestamp');
以後select出來的結果
it

id title changed_on created_on
1 mysql test timestamp update 2014-06-22 12:15:21 0000-00-00 00:00:00

最後更新這條記錄
update ts set title = 'test mysql timestamp update' where id = 1;
select出來的結果
table

id title changed_on created_on
1 mysql test timestamp update 2014-06-22 12:20:34 0000-00-00 00:00:00

總結

1.默認狀況下,若是插入時沒有指定第一個timestamp列的值,mysql則設置這個列的值爲當前時間。在更新記錄時,mysql也會更新這個列的值爲當前時間。
2.timestamp列默認爲not null.
3.只可以有一個timestamp列出現 CURRENT_TIMESTAMP 聲明,不管是在DEFAULT 抑或 ON UPDATE 語句中class

相關文章
相關標籤/搜索