我有一个TIMESTAMP
字段,但不接受值2014-10-19 00:00:00
。
我正在使用MySQL 5.6,我已经在Windows和Linux版本中进行了测试。
如果不接受第一种格式,我该怎么写?
答案 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'。
show variables where variable_name like '%datetime%'
+-----------------+-------------------+
| Variable_name | Value |
+-----------------+-------------------+
| datetime_format | %Y-%m-%d %H:%i:%s |
+-----------------+-------------------+
如果你是D-M-Y命令或其他东西,那么改变。