我有一个用于插入日期时间字段的应用程序。有一个问题,虽然它会插入秒,它不应该!MySQL查询来标准化日期时间字段
I.e. 2011-08-07 15点24分06秒
他们已经纠正了这一点,并插入现在只包括最新的,因此上面的例子看起来像
2011-08-07 15:24:00
目前有2000万行“错误”。什么是最有效的查询来修复旧的?
我有一个用于插入日期时间字段的应用程序。有一个问题,虽然它会插入秒,它不应该!MySQL查询来标准化日期时间字段
I.e. 2011-08-07 15点24分06秒
他们已经纠正了这一点,并插入现在只包括最新的,因此上面的例子看起来像
2011-08-07 15:24:00
目前有2000万行“错误”。什么是最有效的查询来修复旧的?
UPDATE
table
SET
timefield = DATE_FORMAT(timefield,'%Y-%m-%d %H:%i:00')
WHERE
SECOND(timefield) <> 0;
这将要读表的每一行提取的时间seconds
部分(这是不可避免的),但它不会需要更新其已经是正确的行。
可能根据'错误'过滤你的更新,然后对最后3个字符进行正确修剪。
但修剪会删除这些字符?我可以很容易地过滤,因为我知道它什么时候改变了,但你有没有更新声明的例子? –
埃米尔的回答会更好地为你服务。 – diagonalbatman
但我不需要使用:00而不是:%s? –
李,当然,我已经纠正了这一点。 –