Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > как записать в базу метку UNIX_TIMESTAMP()


Автор: supervladislav 17.7.2011, 01:02
Скажите какой тип данных нужно подобрать для этой функции  я использую тип  time
мне в  phpadmin выводится вот это  38:59:59
 

Автор: supervladislav 17.7.2011, 01:27
пробую выполнить вот такой запрос он выполняется но почемуто через раз 

Код

update fight set time_update_mana=UNIX_TIMESTAMP() where User_id='2'


Автор: NFL 17.7.2011, 17:31
храните timestamp в поле unsigned int (UNIX_TIMESTAMP() возвращает количество секунд с начала эпохи unix smile )

Автор: Photon 18.7.2011, 20:28
Ну вообще-то есть именно такой тип поля: TIMESTAMP

Автор: NFL 18.7.2011, 21:10
Photon, тип данных есть, но он, насколько я понял, не соответствует формату функции UNIX_TIMESTAMP, если неправ - поправьте smile 

http://mysql.ru/docs/man/DATETIME.html - о формате TIMESTAMP

Автор: Gold Dragon 20.7.2011, 07:44
а что тебе мешает в уже в запросе приводить данные к тому форматы который тебе нужен используя функции для работы с датой и временем для сравнения или для результата.. А хранить в простом TIME

Автор: NFL 20.7.2011, 14:32
Gold Dragon, проще хранить сразу в нужном формате, если, конечно, это допустимо, незатратно в плане ресурсов, и тип со временем не поменяется smile 
Иначе же - да, хранить DATETIME, и извращаться в приложении

Автор: triclosan 20.7.2011, 14:36
Цитата(supervladislav @  17.7.2011,  01:27 Найти цитируемый пост)
User_id='2'

Если User_id у вас целочисленное - используйте без кавычек.

Автор: Gold Dragon 20.7.2011, 14:41
NFL, ну может ты и прав, но иногда нужно править или просто воспользоваться напрямую редактированием базы данных и "нужный" формат может оказаться не совсем человекопонятным ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)