MySQL表字段時間設置默認值
應用場景
- 在數據表中,要記錄的每條數據是什么時候創(chuàng)建的,不需要應用程序去特意記錄,而是由數據庫獲取當前時間自動記錄創(chuàng)建時間。
- 在數據庫中,要記錄每條數據是什么時候修改的,不需要應用程序去特意記錄,而由數據庫獲取當前時間自動記錄修改時間。
在數據庫中獲取當前時間
- oracle:select sysdate from dual;
- sqlserver:select getdate();
- mysql:select sysdate(); select now();
MySQL中時間函數NOW()和SYSDATE()的區(qū)別
NOW()取的是語句開始執(zhí)行的時間,SYSDATE()取的是動態(tài)的實時時間。
因為NOW()取自mysql的一個變量”TIMESTAMP”,而這個變量在語句開始執(zhí)行的時候就設定好了,因此在整個語句執(zhí)行過程中都不會變化。
執(zhí)行下面這個例子就明白了:
SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()
先查詢了NOW()和SYSDATE(),然后sleep了3秒,再查詢NOW()和SYSDATE(),結果如下:
實現方式
- 將字段類型設為 TIMESTAMP。
- 將默認值設為 CURRENT_TIMESTAMP。
舉例應用
創(chuàng)建一個表time,主鍵為id,其中一個字段為date,默認系統(tǒng)當前時間:
CREATE TABLE time( id INT PRIMARY KEY, date TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
插入一條數據:
INSERT INTO time(id) VALUES(1);
查詢結果:
到此這篇關于MySQL表字段時間設置默認值的文章就介紹到這了,更多相關MySQL 字段時間默認值內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析
在使用InnoDB存儲引擎后,MySQL的ibdata1文件常常會占據大量存儲空間,這里我們就為大家?guī)鞰ySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析:2016-06-06mysql?8.0.28?winx64.zip安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了mysql?8.0.28?winx64.zip安裝配置方法圖文教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04