2017-10-16 62 views
0

我有一個昨天崩潰的存儲過程。它是這樣開始的:MySQL TIMESTAMP停止工作在夏令時轉換

DECLARE v_today TIMESTAMP; 
SET v_today = (DATE(NOW()) + INTERVAL 0 SECOND); 

我已經固定它改變v_today類型DATETIME。但我想明白,爲什麼它只是在昨天(巴西開始夏令時)發生錯誤。

錯誤是:

Mysql2::Error: Incorrect datetime value: '2017-10-15 00:00:00' for column 'v_today' at row 1: 

感謝。

+0

它產生了什麼錯誤? 'SET v_today = CURDATE();'是否正常工作?請[編輯]您的問題以提供更多詳細信息。 –

+1

我敢打賭,這是MySQL中的一個錯誤。這是巴西的時間轉換紀律。 https://www.timeanddate.com/time/change/brazil/brasilia它看起來像TIMESTAMP值'2017-10-15 00:00:00'不存在,並且需要向前推一小時到' 2017-10-15 01:00:00'。但是MySQL只是勉強。 –

+0

它是有道理的!我相信這就是爲什麼......因此'TIMESTAMP'不接受時間'2017-10-15 00:00:00',因爲它不存在於真實的現場。謝謝@ O.Jones。 – bonafernando

回答

1

我敢打賭,這是MySQL中的一個錯誤。這是巴西的時間轉換紀律。 timeanddate.com/time/change/brazil/brasilia它看起來像TIMESTAMP值2017-10-15 00:00:00不存在,並且需要向前推進一小時至2017-10-15 01:00:00。但是MySQL只是勉強。