我无法将时间戳值'2015-01-07 00:00:00'
插入我的数据库。
此问题适用于 2015-01-07 00:00:00
和 2015-01-07 01:00:00
之间的任何小时
这仅适用于2015年1月7日。
SHOW VARIABLES LIKE "%version%";
protocol_version 10
version 5.1.50-community
version_comment MySQL Community Server (GPL)
version_compile_machine ia32
version_compile_os Win32
==
CREATE TABLE `eventtest3` (
`event_dt` TIMESTAMP
) ENGINE=INNODB DEFAULT CHARSET=utf8
1 queries executed, 1 success, 0 errors, 0 warnings
0 row(s) affected
==
我的插入查询是:
1 queries executed, 0 success, 1 errors, 0 warnings
Query: INSERT INTO eventtest3 (event_dt) VALUES('2015-01-07 00:00:00')
Error Code: 1292
Incorrect datetime value: '2015-01-07 00:00:00' for column 'event_dt' at row 1
==
工作查询:
Query: INSERT INTO eventtest3 (event_dt) VALUES('2017-01-07 00:00:00')
1 queries executed, 1 success, 0 errors, 0 warnings
1 row(s) affected
Query: INSERT INTO eventtest3 (event_dt) VALUES('2014-01-07 00:00:00')
1 queries executed, 1 success, 0 errors, 0 warnings
1 row(s) affected
Query: INSERT INTO eventtest3 (event_dt) VALUES('2016-01-07 00:00:00')
1 queries executed, 1 success, 0 errors, 0 warnings
1 row(s) affected
1 queries executed, 1 success, 0 errors, 0 warnings
Query: INSERT INTO eventtest3 (event_dt) VALUES('2015-01-31 05:07:09')
1 row(s) affected
这个日期在这里或那里没有时间转移,所以我认为这个问题不是因为时区设置。
解决方案是检查mysql.time_zone*表是否为空,从 http://dev.mysql.com/downloads/timezones.html 下载时区信息,然后用停止的mysql服务替换表。
我真的不知道这如何帮助 7 年 2015 月 2015 日,但它确实如此。