在数据库中存储“无效”日期

时间:2010-12-08 00:12:34

标签: mysql database

我将一些记录存储在数据库中。记录具有“上次访问”字段,该字段是时间戳。如果尚未访问记录,则时间戳无效。我目前正在存储未来日期,例如<2101-01-01 00:00:00'在'上次访问'字段中,表示无效日期。

是否有更好的方法来表示“无效”日期。这样做的推荐“最佳实践”是什么?

我正在使用MySQL,但理想情况下,建议应该是db不可知

4 个答案:

答案 0 :(得分:6)

存储NULL值。 MySQL时间戳非常糟糕,因此您可能需要更改表模式以鼓励它在其中放置NULL;我使用DATETIME,它比MySQL中的TIMESTAMP更奇怪。

答案 1 :(得分:3)

存储无价值物品的适当方法是简单地不提供任何价值。也就是说,null。存储任何其他东西并将其视为神奇的价值往往是有问题的。有时神奇的值可以是有效值,现在你没有区分这两者的方法。

答案 2 :(得分:1)

我只是将该字段留空。

如果他们从未访问过该记录,则根本不应该有时间戳。

答案 3 :(得分:0)

你有什么理由不使用NULL吗?