我遇到了一个非常奇怪的问题,不明白这一点。
CREATE TABLE test (time TIMESTAMP NOT NULL DEFAULT NOW()) ENGINE=INNODB;
mysql> insert into test (time) values("2011-03-13 01:08:04");
Query OK, 1 row affected (0.00 sec)
这很好。现在,只需将时间更改 1 小时:
mysql> insert into test (time) values("2011-03-13 02:08:04");
ERROR 1292 (22007): Incorrect datetime value: '2011-03-13 02:08:04' for column 'time' at row 1
这里发生了什么?我随机插入日期时间值,发现许多值无法插入:“2011-03-13 02:08:04”、“2010-03-14 02:04:05”、“2009-03-08 02” :24:52”、“2009-03-08 02:48:27”、“2011-03-13 02:06:01”、“2005-04-03 02:00:44”...
将小时改为 1 或将年份改为 1 可以解决问题,但当然不是真正的解决方案。