[轉]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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL設定當前時間為預設值的方法MySql
- pydantic 欄位的預設值設定獲取當前時間
- MYSQL中給時間列設定預設值MySql
- mysql datetime增加預設值MySql
- Sqlserver的欄位datetime型別預設值設為getdate()時,設值毫秒為000SQLServer型別
- mongodb中如何設定當前時間?MongoDB
- MySQL為欄位新增預設時間(插入時間)MySql
- Navicat for MySQL 15使用教程:何時使用預設值以及如何選用恰當的預設值MySql
- layui laydate日期時間範圍,時間預設設定為23:59:59UI
- mysql interactive_timeout 設定不當一例MySql
- MySQL欄位預設值設定詳解MySql
- 【easyUI】date-box 設定預設時間UI
- 更改當前資料庫預設臨時表空間注意事項資料庫
- 為jQuery的$.ajax設定超時時間jQuery
- carbon 計算當前時間與給定時間差
- 【java】校驗當前時間是否在規定的時間內Java
- 臨時表空間的建立、刪除,設定預設臨時表空間
- MYSQL中怎樣設列的預設值為Now()的介紹MySql
- JS 檢測當前時間是否為夏令時JS
- sql設定欄位預設值SQL
- django 設定預設值到SQLDjangoSQL
- ASP.NET中DateTime可空值的設定方法ASP.NET
- 直播軟體搭建,當前時間、既定時間後的時間及時間比較大小
- mac mysql修改預設時區為 utcMacMySql
- Linux時區設定及NTP時間同步Linux
- laydate設定預設時分秒
- MySQL 獲得當前日期時間(以及時間的轉換)MySql
- oracle時間欄位預設值,hibernate對映Oracle
- github_修改當前倉庫的預設分支Github
- session超時時間的設定Session
- 【Linux-時間設定】-設定時區並調整時間Linux
- 設定時間格式
- 查詢時間從前7天到當前時間
- MySQL修改欄位預設值MySql
- MySQL-修改欄位型別、設定預設值,以及新增註釋MySql型別
- 用Delphi獲取當前系統時間 (轉)
- Golang技巧之預設值設定的高階玩法Golang
- PLSQL實現顯示當天是星期幾及當前時間SQL