服務器數據庫5.5,本地5.7在講遠程服務器導入到本地操做的時候,一直在date上報invalid value,最後定位在這樣的語句上created_at date no null default '0000-00-00 00:00:00'
,這裏涉及到兩個問題:mysql
0000-00-00
。注:每種類型都有一個有效的範圍,當給某類型設置一個無效值的時候,mysql會自動設置爲「0」;timestamp類能夠自動更新其時間(前提是sql-model中不包含‘NO_ZERO_DATE’)。sql
注:datetime和timestamp均可以添加6位分數部分來支持微妙精度,如2016-10-19 12:27: 33.999999數據庫
datetime和timestamp對不少程序都能工做,可是某些場景下,卻有優劣之分。datetime將時間封裝在YYYYMMDDHHMMSS的整數中,與時區無關,並使用8個字節空間;timestamp使用4個字節,因此它的範圍更短,如上所述,而且和時區緊密相關,同時timestamp會自動更新,列默認屬性也是not null.安全
注:將unix時間存儲爲整數,不會帶來任何收益,一般不建議這樣作。服務器