評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]
又發生的意料之外的時間精度問題,在 Mysql 中時間的精度只到秒,如果你要到毫秒就一定要使用 TIMESTAMP ,但 TIMESTAMP 預設值如果你設 CURRENT_TIMESTAMP 其實也是只有到秒,你需要設成 CURRENT_TIMESTAMP(3) 或 CURRENT_TIMESTAMP(6) 依你的需求去設你要的精度。
你可以在cli下
select CURRENT_TIMESTAMP(3);
2020-08-27 11:40:33.896
select CURRENT_TIMESTAMP(6);
2020-08-27 11:40:33.909491
建立資料表指令碼
CREATE TABLE IF NOT EXISTS `test`
(id varchar(30) NOT NULL,
time TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (id));
CREATE TABLE IF NOT EXISTS `test`
(id varchar(30) NOT NULL,
time TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (id));
修改現有資料表
ALTER TABLE `test` CHANGE `time` `time` TIMESTAMP(3) NULL DEFAULT CURRENT_TIMESTAMP(3);
ALTER TABLE `test` CHANGE `time` `time` TIMESTAMP(6) NULL DEFAULT CURRENT_TIMESTAMP(6);
如果你有使用 phpmyadmin 在備份資料時 匯出的時候
CREATE TABLE `test` (
`id` varchar(30) NOT NULL,
`time` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
建立資料表的語法會有中斷
但資料還是有完整的匯出
參考網址:https://stackoverflow.com/questions/23671222/mysql-default-value-for-timestamp3
評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]