MySQL CURRENT_TIMESTAMP in milliseconds
DROP TABLE TEST_DATETIME;
CREATE TABLE TEST_DATETIME
(
ID INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
MEMO VARCHAR(20) COMMENT '備註',
CREATE_DATE DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6),
UPDATE_DATE DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
PRIMARY KEY (ID)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='測試DATETIME';
INSERT INTO TEST_DATETIME (MEMO) VALUES ('T'); -- 請多按幾次
UPDATE TEST_DATETIME SET MEMO = 'Y' WHERE ID = 3
-- 觀察時間
SELECT * FROM TEST_DATETIME
-- 自己看差別
SELECT CURRENT_TIMESTAMP
SELECT CURRENT_TIMESTAMP(3)
SELECT CURRENT_TIMESTAMP(6)
但搭配 hibernate 時,仍需要額外設定,Hibernate 程式寫入時,才會自動寫入時間
在 hbm 檔裡,欄位需額外加入 insert="false" update="false"
<property name="createDate" type="java.util.Date" insert="false" update="false">
<column name="CREATE_DATE" />
</property>
<property name="updateDate" type="java.util.Date" insert="false" update="false">
<column name="UPDATE_DATE" />
</property>