MySQL. В каком формате лучше хранить время создания записи?

IF

else
MySQL. В каком формате лучше хранить время создания записи?

До сих пор хранил время в полях TIMESTAMP. Ставишь текущее время по умолчанию и вроде всё ОК.
Теперь стал сомневаться, правильно ли я делаю, не лучше ли хранить время в INT, в формате юниксовского времени?
Опыта маловато, не хочется глупые вещи сразу делать. Подскажете исходя из логики и опыта?
 

Фанат

oncle terrible
Команда форума
и вроде всё ОК.
а не пробовал апдейтить эти записи?

-~{}~ 08.05.06 09:18:

Теперь стал сомневаться, правильно ли я делаю, не лучше ли хранить время в INT, в формате юниксовского времени?
почему стал сомневаться?
 

IF

else
не пробовал ( не было необходимости). уже чую, что попаду, с текущим то..:(
ну что в INT в юниксовском или есть ещё варианты?
 

IF

else
сомневаться стал, после того, как увидел, что другие хранят в юниксовском формате. вот я и подумалЮ если они усложняют себе жизнь значит зачем-то это надо?
 

Фанат

oncle terrible
Команда форума
а они усложняют?
а некоторые хранят в варчаре. на них ты тоже будешь смотреть?
 

Фанат

oncle terrible
Команда форума
А в случае с интом что делать надо?
чем варчар хуже инта?
 

IF

else
с интом надо это время получить и записать в базу, а в случае с варчаром ещё и перевести это в строку.
Это не сложно, но требует каких-то усилий, в отличии от таймштампа. Если люди это делают, то не думаюиз-за того, что у них есть лишнее время.
 

Фанат

oncle terrible
Команда форума
с интом надо это время получить и записать в базу, а в случае с варчаром ещё и перевести это в строку
не понял эту фразу.
что значит - перевести в строку? перевести из чего?
а если переводить не надо, если дата и так была строкой, то варчар ничем не хуже инта?
 

IF

else
Фанат
Согласен. инт и варчар одинаквы по трудозатратам.

Правильно ли я понял, что хранят их только из-за возможности апдеейта. если апдейт не предусмотрен -таймштамп достаточен.
 

Фанат

oncle terrible
Команда форума
нет.
Кроме ХРАНЕНИЯ база данных выполняет много других функций.
Вот когда тебе они понадобятся - тогда ты и узнаешь, для чего нужны разные типы полей.
А пока они тебе не нужны, то и база тебе не нужна. Храни всё в текстовом файле.

откуда ты можешь знать - предусмотрен аплейт, или нет? Ты можешь гарантировать, что у тебя таблица останется неизменной? А вдруг тебе понадобится добавить какое-то поле? и что-то в него записать?

-~{}~ 08.05.06 09:52:

ты не пробовал, перед тем, как задать свой вопрос, почитать документацию?
скажем, посмотреть, какие вообще бывают типы полей в мускуле?
 

IF

else
Фанат
Типы полей в мускуле я знаю, это азы, а вот когда время хранят в невременных форматах, хочется спросить, зачем это делают.

-~{}~ 08.05.06 10:01:

А вдруг тебе понадобится добавить какое-то поле? и что-то в него записать?
об этом я не подумал. мерси.

-~{}~ 08.05.06 10:06:

подумал, буду руками ставить unix_timestamp() в поле типа int и не парится
 

Фанат

oncle terrible
Команда форума
Типы полей в мускуле я знаю, это азы
да что ты говоришь?!
и для времени создания записи у тебя только два варианта - инт и таймстамп?
я тебя правильно понял?
 

IF

else
Фанат
ещё и DATE, TIME, DATETIME, TIMESTAMP и YEAR
но некоторые хранят в инте. это меня и заставило задуматься, может я что-то не догоняю. теперь понял - не догоняю.
 

Фанат

oncle terrible
Команда форума
и что же именно ты понял?
и почему из всего перечисленного ты рассматривал только TIMESTAMP?
 

IF

else
TIMESTAMP я выбрал потому, что с ним вообще ничего делать не надо. оказалось что даже при добавлении поля его значение меняется, а значит, если ты не уверен в будущем таблицы, значит его лучше не использовать.
Понял, что я упустил из поля зрения DATETIME. пошёл думать, что лучше int (варчар всё-таки ест больше памяти) или DATETIME. и чем.
 

Фанат

oncle terrible
Команда форума
а значит, если ты не уверен в будущем таблицы, значит его лучше не использовать.
его лучше не использовать потому, что оно НЕ ПРЕДНАЗНАЧЕНО для фиксации времени создания записи!
это поле предназначено для фиксации времени ИЗМЕНЕНИЯ записи. Тебе доступна разница между этими двумя понятиями?
 

IF

else
да, теперь понял зачем нужен TIMESTAMP. поле его использования весьма ограничено
если бы научится ставить в DATETIME по дефалту текущее время, то это будет то, ЧТО НАДО.
 

sani

Новичок
Я вот тоже пхп изучаю относительно не много... Но время храню в беззнаковом INTе. Вроде никаких проблем небыло...
 
Сверху