2012-09-18 30 views
7

使用默認日期'0000-00-00 00:00:00'或mysql數據庫上的null是更好的做法默認日期'0000-00-00 00:00:00'或null

我有閱讀最好使用默認日期'0000-00-00 00:00:00'爲計算的原因

即。 >比日期少的日期。

也準時最好保存00:00或空,如果時間不知道

+11

使用'NULL'。 '0000-00-00 00:00:00'不是有效的日期(並且MySQL的JDBC驅動程序將拒絕加載那個btw)。當你**有**使用NULL時,因爲00:00是實時的(午夜)。所以你不能區分午夜和「沒有時間」。 –

+1

我通常使用null來表示「未知」。只要你知道你賦值了什麼,如果你的應用程序正確處理它,你就可以使用它。 –

+0

無論如何,你確實需要檢查錯誤狀態(即預期有效日期的空日期)。 –

回答

-1

默認值應爲NOT NULL序,支持所有日期時間的操作。 我還使用「0000-00-00 00:00:00」作爲默認值。

+3

爲什麼它不能爲空 –

+1

@MatthewCammbers http://www.fromdual.com/using-null-as-default-values討論相反的是正確的答案,雖然我個人認爲使用默認的0000-00-00更好。有一個操作被提到它它的評論不起作用,如果該字段可以爲空'SELECT * FROM t WHERE city = city' –

+1

我同意@MatthewChambers這個0000-00-00是最好的答案。 –