SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 10.03.2011 14:52:50

Борис
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 29

Лишние 24 секунды TIMESTAMPDIFF

Добрый день, вопрос следующего характера.

Есть таблица пользователей, у всех пользователей есть возможность купить мембершип,

есть 2 калонки userVipStartDate userVipEndDate - начало мембершипа и конец.

дефолтный стаус пользователя user

как только юзер нажимает на купить VIP в базу сразу же пишется что он vip начало мембершипа и конец.


я создал ещё одну калонку userVipDuration - которая хранит время действия мембершипа в секундах

Следующий запрос пишет в userVipDuration - секунды до конца мембершипа.


UPDATE adv_users SET userVipDuration = TIMESTAMPDIFF(SECOND, NOW(), userVipEndDate) - 24 WHERE userType = 'vip';


но почему то в сумму прибавляются ещё 24 секунды, и мне приходится отнимать эти 24 секунды -

объясните пожалуйста почему, или как можно отимизировать так что бы точно  считал конец


userVipEndDate имеет следуюший формат: поле типа DATETIME  содержит запись: 2011-03-10 12:50:34

Спасибо огромное

Отредактированно Борис (10.03.2011 14:53:12)

Неактивен

 

#2 11.03.2011 14:09:10

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Лишние 24 секунды TIMESTAMPDIFF

Ну, например, между запросами на создание пользователя и выполнением этого
запроса проходит 24 секунды wink

Посмотрите внимательно на то, откуда Вы вычитаете.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson