我有一个Mysql 5.5和一个带有如下列的表:
`VERSION_TS` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
但是我最近遇到了困难,我得到了这个例外:
日期时间值不正确:' 1998-03-20'对于专栏' VERSION_TS'在一排 1
尝试使用mySql Date
向表中输入值MakeDate()
的值时。
现在,我无法更改返回Date
的功能,但我可以将列更改为Date
,但之后我将失去默认值。我已经尝试了几件事,然后检查了网页,并且从我在Mysql 5.5中的理解中没有办法做到这一点,但我可能是错的,所以我来这里问:
答案 0 :(得分:1)
我认为documentation在这一点上非常明确:
TIMESTAMP和DATETIME列可以自动初始化 更新到当前日期和时间(即当前时间戳)。
因此,这不适用于DATE
。但是,您可以创建一个符合您需要的视图:
create view v_table as
select t.*, date(version_ts) as version_date
from table t;
答案 1 :(得分:1)
如果编写returns date
的函数in php
,那么在收到date value
之后,您可以执行此操作:
$date = new DateTime('2006-12-12');
echo date_format($date,'Y-m-d H:i:s');// this you can store in mysql table.
if not same kind of approach you can apply in the respective language to do the job.
或者像Gordon Linoff所提到的那样使用视图。