MySQL 1292日期时间值不正确

Cyc*_*eek 8 mysql mysql-error-1292 sql-timestamp

当我尝试将'2011/03/13 02:53:50.000000000'插入时间戳列时,我收到此错误.如果我将13更改为15,14,12或11,则没有问题.我也试过将/改为-s仍然没有去.

我查看了一些与此错误相关的其他线程但似乎没有适用.

我正在运行5.7.9版本.

小智 24

我花了一段时间才弄明白这一点......

问题是'2011-03-13 02:53:50'是非法的,因为夏令时间在凌晨2点到凌晨3点之间切换,因此在任何DST介绍日的凌晨2点到3点之间的所有时间值都是无效的.同样适用于'2016-03-13 02:32:21'等

将系统时区更改为不使用DST的系统时区,您应该没问题.


Rah*_*thi 6

你需要尝试这个:

STR_TO_DATE( '2011/03/13 02:53:50', '%Y/%m/%d %H:%i:%s')
Run Code Online (Sandbox Code Playgroud)

否则您必须使用破折号分隔符(-)插入日期,例如

'2011-03-13 02:53:50' 
Run Code Online (Sandbox Code Playgroud)

SQL FIDDLE 演示