Хранение «недействительной» даты в базе данных - PullRequest
5 голосов
/ 08 декабря 2010

Я храню некоторые записи в базе данных. Запись имеет поле «Последнее посещение», которое является отметкой времени. Если запись еще не посещена, отметка времени недействительна. В настоящее время я храню будущую дату, например «2101-01-01 00:00:00» в поле «Последнее посещение», чтобы обозначить недопустимую дату.

Есть ли лучший способ указать недопустимую дату. Какова рекомендуемая «лучшая практика» для этого?

Я использую MySQL, но в идеале рекомендация должна быть независимой от базы данных

Ответы [ 4 ]

6 голосов
/ 08 декабря 2010

Вместо этого сохраните значение NULL. Временные метки MySQL довольно запутаны, поэтому вам, возможно, придется изменить схему таблицы, чтобы поощрить ее к добавлению в нее значения NULL; Вместо этого я использую DATETIME, это немного менее странно, чем TIMESTAMP в MySQL.

3 голосов
/ 08 декабря 2010

Надлежащий метод хранения чего-либо бесполезного - просто не предоставлять значения. Так сказать, ноль. Хранить что-либо еще и рассматривать это как магическую ценность часто проблематично. Есть моменты, когда магическое значение может быть действительным значением, и теперь у вас нет способа различить их.

1 голос
/ 08 декабря 2010

Я бы просто оставил поле пустым.

Если они никогда не посещали запись, у нее вообще не должно быть отметки времени.

0 голосов
/ 08 декабря 2010

Есть ли причина, по которой вы бы не использовали NULL для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...