Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

kohana Query Builder удалить запись через 5 минут
http://forum.kohanaframework.su/viewtopic.php?f=33&t=304
Страница 1 из 1

Автор:  merlin [ 10 авг 2012, 16:02 ]
Заголовок сообщения:  kohana Query Builder удалить запись через 5 минут

Нужно сделать вот такой запрос:
Код:
mysql_query("DELETE FROM `url_password` WHERE url_password_date < NOW() - INTERVAL '5' MINUTE")
;, удалить запись через 5 минут только Query Builder
Что то типа

Код:
DB::delete($this->_url_password)
      ->where('url_password_date', '<',  NOW() - INTERVAL '5' MINUTE );


Только, конечно так не получается )
Заранее благодарю

Автор:  qed [ 10 авг 2012, 17:28 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

Возьмите третий аргумент where в кавычки и добавьте execute(). Если не будет работать, напишите текст ошибки.

Автор:  merlin [ 10 авг 2012, 17:48 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

Благодарю все заработало
Вот правильный запрос
Код:
DB::delete($this->_url_password)
      ->where('url_password_date', '<',  'NOW() - INTERVAL 5 MINUTE' )->execute();

Автор:  merlin [ 10 авг 2012, 18:00 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

хотя нет, корректно не работает, удаляет все не смотря на интервал )))

Автор:  Sergey [ 10 авг 2012, 18:05 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

Да вам батенька MySQL учить надо :)

Автор:  merlin [ 10 авг 2012, 18:10 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

А в чем конкретно ошибка не напишите?
Вот MySQL запрос который корректно работает
Код:
 DELETE FROM `url_password` WHERE `url_password_date` < NOW() - INTERVAL 10 MINUTE

Автор:  Rush64 [ 10 авг 2012, 19:00 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

стесняюсь спросить что такое now(), и что такое interval 10 minute. линк на Mysql.com плз
хотя бы выражение в скобки взяли бы)

Автор:  merlin [ 10 авг 2012, 19:18 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

NOW() полезная функция, которая возвращает текущую дату и время
вот ссылка на документацию http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_now
Здесь про INTERVAL MINUTE http://www.mysql.ru/docs/man/Date_and_time_functions.html
Очень интересно и думаю пригодится
Извините, что не взял выражение в скобки.

Автор:  mamahtehok [ 10 авг 2012, 19:26 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

Код:
DB::delete($this->_url_password)
      ->where('url_password_date', '<', DB::expr('NOW() - INTERVAL 5 MINUTE' ))->execute();

как-то так...

Автор:  merlin [ 10 авг 2012, 19:34 ]
Заголовок сообщения:  Re: kohana Query Builder удалить запись через 5 минут

mamahtehok писал(а):
Код:
DB::delete($this->_url_password)
      ->where('url_password_date', '<', DB::expr('NOW() - INTERVAL 5 MINUTE' ))->execute();

как-то так...

БОЛЬШОЕ, ЧЕЛОВЕЧЕСКОЕ СПАСИБО! Очень радует, что есть отзывчивые люди ).

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/