MySQL无法使用“2014-10-19 00:00:00”更新TIMESTAMP字段

时间:2015-08-22 13:41:20

标签: mysql

我有一个TIMESTAMP字段,但不接受值2014-10-19 00:00:00

我正在使用MySQL 5.6,我已经在Windows和Linux版本中进行了测试。

如果不接受第一种格式,我该怎么写?

1 个答案:

答案 0 :(得分:0)

create table thing9
(   id int auto_increment primary key,
    theWhat varchar(80) not null,
    theWhen timestamp not null
);
insert thing9(theWhat,theWhen) values('fish','2014-10-19 00:00:00');
insert thing9(theWhat,theWhen) values('fish','2012-10-19 00:00:00');
insert thing9(theWhat,theWhen) values('fish','2016-10-19 00:00:00');

update thing9 set theWhen='2011-10-19 00:00:00' where id=2;

+----+---------+---------------------+
| id | theWhat | theWhen             |
+----+---------+---------------------+
|  1 | fish    | 2014-10-19 00:00:00 |
|  2 | fish    | 2011-10-19 00:00:00 |
|  3 | fish    | 2016-10-19 00:00:00 |
+----+---------+---------------------+

mysql> show variables like '%versi%';
+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.6.24                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| version                 | 5.6.24-log                   |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86_64                       |
| version_compile_os      | Win64                        |
+-------------------------+------------------------------+

编辑:

我想知道你是否遇到mysql时区问题。请查看Mysql手册页链接here,下面是它的一个小摘录。

  

的MySQL> SELECT @@ global.time_zone,@@ session.time_zone;时区值   可以用几种格式给出,其中没有一种是区分大小写的:

     

价值' SYSTEM'表示时区应与时区相同   系统时区。

     

该值可以作为表示与UTC的偏移量的字符串给出,例如   作为' +10:00'或者' -6:00'。

EDIT2:

show variables where variable_name like '%datetime%'
+-----------------+-------------------+
| Variable_name   | Value             |
+-----------------+-------------------+
| datetime_format | %Y-%m-%d %H:%i:%s |
+-----------------+-------------------+

如果你是D-M-Y命令或其他东西,那么改变。