更新MySQL列时间戳

时间:2014-03-20 10:24:07

标签: mysql datetime timestamp

我有这个问题:

 SELECT `ListingDeadline` FROM `listings` WHERE `listing_type_sid` = 6 AND `active` = 1;

运行此命令会得到以下格式列ListingDeadline列的183个结果:

2014-03-28 00:00:00
2014-03-30 00:00:00

此列是DateTime类型列,用户可在其中选择列表截止日期的日期,并返回日期并附加时间戳。默认情况下,此时间戳为00:00:00,我刚刚更改为23:59:59。我想要做的是使用这个新值(23:59:59)更新当前的listingDeadline时间戳结果,以便所有183个结果的00:00:00被23:59:59替换。

任何一个想知道我可以添加到上面那个查询的查询吗?

3 个答案:

答案 0 :(得分:0)

试试这个。

Update `listings` SET `ListingDeadline` = '23:59:59' 
WHERE  `listing_type_sid` = 6 AND `active` = 1
AND    `ListingDeadline` = '00:00:00'

答案 1 :(得分:0)

似乎您的问题也可以解释为仅更改查询结果。 如果是这样,试试这个。它也可以用于更新。

SELECT `ListingDeadline` - INTERVAL 1 SECOND AS ListingDeadLine FROM `listings` WHERE `listing_type_sid` = 6 AND `active` = 1;

答案 2 :(得分:0)

在一些窥视的帮助下,最终使用以下查询使其工作。希望它可以帮助那些可能有类似问题的其他人。

UPDATE `listings`
SET `listings`.`ListingDeadline`= ADDDATE(`listings`.`ListingDeadline`, INTERVAL -1 SECOND)
WHERE `listings`.`listing_type_sid` = 6
AND `listings`.`active` = 1;

感谢您的所有提示和想法,帮助很多。