右。我被插入数据的负载到一个MySQL DB和使用以下来产生所述时间戳:

$stamp = mktime($t[0], $t[1], $t[2], $d[2], $d[1], $d[0]);

不幸的是,日和月混合周围,和下面是正确的时间戳。

$stamp = mktime($t[0], $t[1], $t[2], $d[1], $d[2], $d[0]);

有大约5000的记录。什么是做批量更新和修正的最简单的方法?

非常感谢!

有帮助吗?

解决方案

难道数据库引擎允许你插入不可能日期,还是没有你有日场的任何日期> 12

在任何情况下,你也许可以用一个update语句修复它,但语法取决于你使用的数据库引擎。

对于MySQL可以使用:

UPDATE myTable SET dateColumn = STR_TO_DATE(DATE_FORMAT(dateColumn, '%d-%c-%Y %T'), '%c-%d-%Y %T')

其他提示

您不能。通过解释的方式,我将举一个例子:

假设你的意思是: 13日,第2个月,1990年 但是,这是读作: 第2天,13月,1990年 由于在今年的几个月只上升到12,这将被视为: 第2天,1月,1991年

但是,假设你的意思是: 第1天,第2个月,1991年 这将被解读为: 第2天,1月,1991年

所以,如果你看到第2天,1个月,1991年的数据库中,这根本是从哪里来的呢?

这就像说,我的平方的整数,并且其结果是哪36.我没有开始,-6或6?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top