2010-08-13 66 views
1

我有一個MySQL類型的日期字段。當我嘗試在PHP中使用以下查詢在此字段中插入任​​何日期時,它在該字段中存儲了「0000-00-00」。如何在MySQL數據庫中插入日期(y-m-d)?

例如:

UPDATE test SET dob=2000-09-20 WHERE id=3 
+4

2000-09-20 = 1971這不是有效值; – 2010-08-13 07:24:12

回答

6

只是引用日期。

UPDATE test SET dob='2000-09-20' WHERE id=3 

在您的查詢... 2000-09-20 ...將被解釋爲數學表達式。結果是一個數字,1971年。在日期時間字段中,數字將被填充爲6,8,12或14位數字,因此1971年將變爲001971.該數字將被解釋爲YYMMDD格式,所以它表示「年00月19日71」,這是無效的。因此存儲特殊值0000-00-00

+0

ouchhhhhhhhhhhhh – Awan 2010-08-13 07:31:37

3

通常,您將使用'2000-09-20'作爲要插入的值。你的系統如何區分你所擁有的和1971年的整數(非日期)值,這是你從2000年減去9和20後得到的值?

UPDATE test SET dob = '2000-09-20' WHERE id = 3 

查看here瞭解更多詳情。