右。我正在将一大堆数据插入到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条记录。批量更新和更正的最简单方法是什么?
非常感谢!
答案 0 :(得分:3)
数据库引擎是否允许您插入不可能的日期,或者您是否在日期字段中没有任何日期> 12?
在任何情况下,您都可以使用一个更新语句来修复它,但语法取决于您使用的数据库引擎。
对于MySQL,您可以使用:
UPDATE myTable SET dateColumn = STR_TO_DATE(DATE_FORMAT(dateColumn, '%d-%c-%Y %T'), '%c-%d-%Y %T')
答案 1 :(得分:2)
你做不到。作为解释,我将举一个例子:
假设你的意思是: 第13天,第2个月,1990年 但这被解读为: 第2天,第13个月,1990年 由于一年中的月份最多只能达到12个,因此将被视为: 第2天,第1个月,1991年
但是假设你的意思是: 第1天,第2个月,1991年 这可以解读为: 第2天,第1个月,1991年
因此,如果你在数据库中看到第2天,第1个月,第1991年,它来自哪个?
这就像说,我对一个整数进行平方,结果为36.我从哪开始,-6或6?