首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 設定欄位預設值為當前時間的三種方法

     編輯:MySQL 資料庫相關知識

需求

表 test_ta1,欄位 createtime 預設為插入行的當前時間戳。

方法一:ALTER TABLE 修改既有欄位

USE test_db1;
CREATE TABLE test_ta1 (
  id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  createtime DATETIME,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

ALTER TABLE test_ta1 
  CHANGE createtime createtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

注意:DATETIME 不支援 DEFAULT NOW(),必須先改型別為 TIMESTAMP。

方法二:建表時直接指定(推薦)

CREATE TABLE test_ta1 (
  id MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  createtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

方法三:GUI 工具(如 MySQL-Front、Navicat、Workbench)

  1. 右鍵欄位 → 編輯屬性
  2. Type 設為 TIMESTAMP
  3. Default 選 <INSERT-TimeStamp> 或 CURRENT_TIMESTAMP

補充:ON UPDATE 自動刷新

updatetime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

插入時寫入建立時間,更新時自動刷新為最新時間。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved