MySQL为某些日期提供不正确的DateTime值,但不提供其他日期

时间:2016-11-01 18:22:49

标签: mysql sql

我有一个在MySQL中看起来像这样的表:

mysql> describe sale;
+-------------+------------+------+-----+-------------------+-----------------------------+
| Field       | Type       | Null | Key | Default           | Extra                       |
+-------------+------------+------+-----+-------------------+-----------------------------+
| id          | bigint(20) | NO   | PRI | NULL              | auto_increment              |
| timestamp   | timestamp  | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| salesperson | int(11)    | NO   | MUL | NULL              |                             |
| customer    | int(11)    | NO   | MUL | NULL              |                             |
| product     | int(11)    | NO   | MUL | NULL              |                             |
| count       | int(11)    | NO   |     | NULL              |                             |
+-------------+------------+------+-----+-------------------+-----------------------------+

现在如果运行此语句,我得到一个ERROR 1292:

mysql> insert into `sale` values (25860,'2006-04-02 02:30:50',1,25,2,21);
ERROR 1292 (22007): Incorrect datetime value: '2006-04-02 02:30:50' for column 'timestamp' at row 1

但是,如果我只将日期更改一天,则该语句有效:

mysql> insert into `sale` values (25860,'2006-04-03 02:30:50',1,25,2,21);
Query OK, 1 row affected (0.00 sec)

2006年4月2日的神奇之处是什么?我无法检测到指定格式的任何问题。我也尝试重新输入语句,以确保它不是由不可见的字符引起的。

1 个答案:

答案 0 :(得分:2)

夏令时。

凌晨2点在2006-04-02,时钟跳到凌晨3点。所以没有02:30:50 enter image description here