2010-12-08 86 views
5

我在數據庫中存儲了一些記錄。一條記錄有一個'上次訪問'字段,它是一個時間戳。如果尚未訪問記錄,則時間戳無效。我目前正在存儲未來日期,例如'上次訪問'字段中的'2101-01-01 00:00:00'表示無效日期。將「無效」日期存儲在數據庫中

有沒有更好的方法來表示'無效'日期。這樣做的建議「最佳做法」是什麼?

我使用MySQL,但是理想情況下,建議應DB無關

回答

6

改爲存儲NULL值。 MySQL的時間戳很麻煩,所以你可能需要改變你的表模式,以鼓勵它讓你在那裏放置一個NULL;我使用DATETIME,而不是像MySQL中的TIMESTAMPs那樣奇怪。

+0

MySQL的DATETIME會接受NULL嗎? – skyeagle 2010-12-08 00:28:29

1

我只想離開場空。

如果他們從未訪問記錄,則根本沒有時間戳記。

3

存儲沒有價值的東西的適當方法是簡單地提供沒有價值。也就是說,一個null。存儲任何東西並將其視爲神奇的價值往往是有問題的。有時候,魔法值可以是有效的價值,現在你沒有辦法區分這兩者。

0

是否有任何理由不會爲此使用NULL