MySQL时间戳在夏季时间转换上停止工作

MySQL时间戳在夏季时间转换上停止工作,mysql,datetime,stored-procedures,timezone,timestamp,Mysql,Datetime,Stored Procedures,Timezone,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' a

我有一个存储过程昨天崩溃了。它是这样开始的:

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:

谢谢。

我打赌这是MySQL中的一个bug。以下是巴西的时间过渡原则。timeanddate.com/time/change/brazilia看起来时间戳值
2017-10-15 00:00:00
不存在,需要向前推一个小时到
2017-10-15 01:00:00
。但是MySQL只是开了个玩笑。

它产生了什么错误?
是否设置v_today=CURDATE()工作正常吗?请你的问题提供更多细节。我打赌这是MySQL中的一个bug。以下是巴西的时间过渡原则。看起来时间戳值
2017-10-15 00:00:00
不存在,需要向前推一小时到
2017-10-15 01:00:00
。但MySQL只是开了个玩笑。这很有道理!我相信这就是为什么。。。因此,
TIMESTAMP
不接受时间
2017-10-15 00:00:00
,因为它在实时中不存在。谢谢@O.Jones。