[轉]MySQL的datetime設定當前時間為預設值及 triger 一例
轉自 http://qroom.blogspot.com/2007/02/mysqldatetime.html
由於MySQL目前欄位的預設值不支援函式,所以以create_time datetime default now()
的形式設定預設值是不可能的。
代替的方案是使用TIMESTAMP型別代替DATETIME型別。
TIMESTAMP列型別自動地用當前的日期和時間標記INSERT或UPDATE的操作。
如果有多個TIMESTAMP列,只有第一個自動更新。
自動更新第一個TIMESTAMP列在下列任何條件下發生:
- 列值沒有明確地在一個INSERT或LOAD DATA INFILE語句中指定。
- 列值沒有明確地在一個UPDATE語句中指定且另外一些的列改變值。(注意一個UPDATE設定一個列為它已經有的值,這將不引起TIMESTAMP列被更新,因為如果你設定一個列為它當前的值,MySQL為了效率而忽略更改。)
- 你明確地設定TIMESTAMP列為NULL.
- 除第一個以外的TIMESTAMP列也可以設定到當前的日期和時間,只要將列設為NULL,或NOW()。
另外在5.0以上版本中也可以使用trigger來實現此功能。
create table test_time (
id int(11),
create_time datetime
);
delimiter |
create trigger default_datetime before insert on test_time
for each row
if new.create_time is null then
set new.create_time = now();
end if;|
delimiter ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/82392/viewspace-526437/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pydantic 欄位的預設值設定獲取當前時間
- mysql datetime增加預設值MySql
- Sqlserver的欄位datetime型別預設值設為getdate()時,設值毫秒為000SQLServer型別
- mongodb中如何設定當前時間?MongoDB
- mysql interactive_timeout 設定不當一例MySql
- MySQL為欄位新增預設時間(插入時間)MySql
- Navicat for MySQL 15使用教程:何時使用預設值以及如何選用恰當的預設值MySql
- layui laydate日期時間範圍,時間預設設定為23:59:59UI
- MySQL欄位預設值設定詳解MySql
- 【java】校驗當前時間是否在規定的時間內Java
- MySQL 獲得當前日期時間(以及時間的轉換)MySql
- sql設定欄位預設值SQL
- 直播軟體搭建,當前時間、既定時間後的時間及時間比較大小
- JS 檢測當前時間是否為夏令時JS
- mac mysql修改預設時區為 utcMacMySql
- laydate設定預設時分秒
- github_修改當前倉庫的預設分支Github
- (C#)時間戳、DateTime相互轉換C#時間戳
- 獲取當前時間
- Golang技巧之預設值設定的高階玩法Golang
- FFmpeg轉碼音影片時間戳設定分析時間戳
- Python中如何給字典設定預設值Python
- MySQL中的時區設定MySql
- 查詢時間從前7天到當前時間
- MySQL 時間戳的 獲取 & 轉換為特定時間格式MySql時間戳
- webapi 設定swagger上請求引數的預設值WebAPISwagger
- Qt學習(5)獲取當前系統時間-實時顯示當前時間QT
- C#中,時間格式轉化,ticks,datetimeC#
- SharePoint 多行文字欄位設定預設值
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- mybatis獲取當前時間MyBatis
- mysql中sql_mode值設定MySql
- 查詢時若時間為空,開始時間取今天的零點,結束時間取當前時間
- 獲取當前時間往前的日期
- kubernetes之為每個名稱空間的pod設定預設的requests以及limitsMIT
- CSocket設定超時(轉)
- JS設定時間格式為2010-01-01,以及時間加減JS
- 設定 Teredo 伺服器,預設為:伺服器