0
我需要&時間指定日期(創建時)時間數據類型 - MySQL的
我試圖用這個語句,但每次我收到一條錯誤消息時創建的記錄的記錄,:
'OrderDate' DATE DEFAULT (GETDATE()) NOT NULL,
當我試圖直觀地編輯它時,PHPMYSQL顯示一條消息,表明字段數據類型已成功更改,但事實並非如此。
底線;我需要知道正確的數據類型/函數以將字段的值設置爲創建時間。
感謝
我需要&時間指定日期(創建時)時間數據類型 - MySQL的
我試圖用這個語句,但每次我收到一條錯誤消息時創建的記錄的記錄,:
'OrderDate' DATE DEFAULT (GETDATE()) NOT NULL,
當我試圖直觀地編輯它時,PHPMYSQL顯示一條消息,表明字段數據類型已成功更改,但事實並非如此。
底線;我需要知道正確的數據類型/函數以將字段的值設置爲創建時間。
感謝
爲了得到一個字段記錄時創建使用自動設置日期:
OrderDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;
的MySQL 5.6之前,如果你需要一個DATETIME
字段類型爲自動初始化,然後你可以定義爲OrderDate
OrderDate DATETIME DEFAULT 0 NOT NULL;
,並使用TRIGGER
指定日期:
DROP TRIGGER IF EXISTS atable_insert_before;
DELIMITER //
CREATE
TRIGGER atable_insert_before
BEFORE INSERT ON
atable
FOR EACH ROW
BEGIN
IF IFNULL(NEW.OrderDate, 0) <= 0
THEN
SET NEW.OrderDate = NOW();
END IF;
END;
//
DELIMITER ;
使用MySQL 5.6,DATETIME
字段可以自動初始化爲TIMESTAMP
現在可以執行此操作。見http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
您可以使用時間戳像** COL_NAME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ** – Dhinakar 2013-03-27 03:46:04
我不認爲他想訂購日期一旦創建了創紀錄的改變,所以'ON UPDATE CURRENT_TIMESTAMP'不宜使用。 – 2013-03-27 03:51:07
@RossSmithII我同意。我只給出了一般的語法。 – Dhinakar 2013-03-27 03:56:05