0

正确的。我正在将大量数据插入 MySQL 数据库并使用以下内容生成时间戳:

$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]);

大约有 5,000 条记录。进行批量更新和更正的最简单方法是什么?

非常感谢!

4

2 回答 2

3

数据库引擎是否允许您插入不可能的日期,或者您没有任何日期字段 > 12 的日期?

在任何情况下,您都可以使用一条更新语句来修复它,但语法取决于您使用的数据库引擎。

对于 MySQL,您将使用:

UPDATE myTable SET dateColumn = STR_TO_DATE(DATE_FORMAT(dateColumn, '%d-%c-%Y %T'), '%c-%d-%Y %T')
于 2009-09-20T22:49:35.693 回答
2

你不能。作为解释,我举个例子:

假设您的意思是:1990 年第 2 个月第 13 天但这被读作:1990 年第 2 天,第 13 个月,因为一年中的月份只上升到 12,这将被视为:第 2 天,第 1 个月, 1991 年

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

因此,如果您在数据库中看到 1991 年的第 2 天、第 1 个月,它来自哪个?

这就像说,我对一个整数进行平方,结果是 36。我从哪个开始, -6 还是 6 ?

于 2009-09-21T00:02:39.383 回答