2011-08-14 90 views
0

我有一个用于插入日期时间字段的应用程序。有一个问题,虽然它会插入秒,它不应该!MySQL查询来标准化日期时间字段

I.e. 2011-08-07 15点24分06秒

他们已经纠正了这一点,并插入现在只包括最新的,因此上面的例子看起来像

2011-08-07 15:24:00

目前有2000万行“错误”。什么是最有效的查询来修复旧的?

回答

2
UPDATE 
    table 
SET 
    timefield = DATE_FORMAT(timefield,'%Y-%m-%d %H:%i:00') 
WHERE 
    SECOND(timefield) <> 0; 

这将要读表的每一行提取的时间seconds部分(这是不可避免的),但它不会需要更新其已经是正确的行。

+0

但我不需要使用:00而不是:%s? –

+0

李,当然,我已经纠正了这一点。 –

-1

可能根据'错误'过滤你的更新,然后对最后3个字符进行正确修剪。

+0

但修剪会删除这些字符?我可以很容易地过滤,因为我知道它什么时候改变了,但你有没有更新声明的例子? –

+0

埃米尔的回答会更好地为你服务。 – diagonalbatman