我有一個表,看起來像這樣: 現場:msg_sent_datetime
類型:日期時間NOW()不更新日期時間?
然而,當我在一個PHP的MySQL插入查詢它留爲全零NOW()使用?
有什麼想法爲什麼?
我有一個表,看起來像這樣: 現場:msg_sent_datetime
類型:日期時間NOW()不更新日期時間?
然而,當我在一個PHP的MySQL插入查詢它留爲全零NOW()使用?
有什麼想法爲什麼?
如果您僅在INSERT
時使用它,則可以將該字段設置爲TIMESTAMP
並將其設置爲默認值CURRENT_TIMESTAMP
。
不知道更多關於代碼的信息,很難提出其他建議。
例與CURRENT_TIMESTAMP
CREATE TABLE example (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
msg TEXT,
msg_sent_datetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
另外,如果你想時,有一個變化的行它來隨時更新,你可以在ON UPDATE CURRENT_TIMESTAMP
屬性添加到表定義:
CREATE TABLE example (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
msg TEXT,
msg_sent_datetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
中當然,所有這一切都完全取決於切換到TIMESTAMP
,你可能不想
我不知道爲什麼,bu t mysql有2個日期時間函數:now()和sysdate()。也許你可以用sysdate()替換now()來幫助你排除故障。
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_sysdate
爲了安全起見,發佈一些代碼可能是個好主意。無論出於何種原因,您(或某個圖書館)都可能引用NOW()表達式。 – timdev 2010-07-13 05:38:12
發佈SQL查詢。如果你正在使用一些包裝或抽象類,在你調用數據庫之前,把var_dump($ sql)放到你正在使用的方法中,以查看它發送到數據庫服務器的SQL是什麼樣的。 – 2010-07-13 06:14:42