timestamp的有关问题

WBOY
發布: 2016-06-13 11:11:04
原創
1072 人瀏覽過

timestamp的问题
表结构:CREATE TABLE `id` (
     `id` timestamp NOT NULL 
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8

mysql> select * from id;
+---------------------+
| id                  |
+---------------------+
| 2013-01-10 20:21:04 |
+---------------------+
1 row in set (0.00 sec)

timestamp存储的到底是时间戳还是datetime类似格式的字符串啊?
如果是时间戳,为什么select出来的不是时间戳呢?
如果是datetime类似的字符串,为什么datetime 8字节,而timestamp才四字节?

谢谢各位指教.


------解决方案--------------------
MySQL中的datetime与timestamp比较

相同

显示

TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。

不同

范围

datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于2037

储存

TIMESTAMP

1.4个字节储存(Time stamp value is stored in 4 bytes)

2.值以UTC格式保存( it stores the number of milliseconds)

3.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。

datetime

1.8个字节储存(8 bytes storage)

2.实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.)

3.与时区无关(It has nothing to deal with the TIMEZONE and Conversion.)

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板