mysql創(chuàng)建時間字段添加默認值方式
mysql創(chuàng)建時間字段添加默認值
在創(chuàng)建時間字段的時候
例如:
create_time默認值可以設(shè)置為CURRENT_TIMESTAMP 插入數(shù)據(jù)時候會自動添加時間,默認值為當前時間update_time默認值可以設(shè)置為CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 表示每次更新這條數(shù)據(jù)的時候,該字段都會更新成當前時間
設(shè)置默認值錯誤,可以用下面sql修改字段默認值
ALTER TABLE `sms_message_system` MODIFY COLUMN `update_time` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間' ;
這兩個操作是mysql數(shù)據(jù)庫本身在維護,所以可以根據(jù)這個特性來生成【創(chuàng)建時間】和【更新時間】兩個字段,且不需要代碼來維護.
CREATE TABLE `sms_message_system` ( ? `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '編號', ? `message_title` varchar(255) DEFAULT '' COMMENT '標題', ? `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間', ? `release_staff` varchar(255) DEFAULT NULL COMMENT '發(fā)布人員', ? `details` varchar(255) DEFAULT NULL COMMENT '消息詳情', ? `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間', ? PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
mysql對表的創(chuàng)建,creat_time字段設(shè)置默認值,update_time字段更新操作設(shè)置為當前時間
目前在設(shè)計表的時候,一般會對表添加兩個公共字段,create_time,upate_time。
create_time在新增數(shù)據(jù)的時候需要有當前時間upate_time在新增數(shù)據(jù)的時候使用當前時間,在這行數(shù)據(jù)被跟新的時候設(shè)置成更新的當前時間。
上面的處理邏輯,可以在程序中寫代碼處理,也可以在數(shù)據(jù)庫層處理。
create_time,update_time數(shù)據(jù)庫建表語句的設(shè)置
以下是數(shù)據(jù)庫層處理的方案
CREATE TABLE `xxx` ( ? `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主鍵', ? `table_id` int(11) DEFAULT NULL COMMENT '表id', ? `column_name` varchar(64) DEFAULT NULL COMMENT '列名字', ? `data_type` varchar(32) DEFAULT NULL COMMENT '列類型', ? `data_length` int(11) DEFAULT NULL COMMENT '列長度', ? `column_comment` varchar(255) DEFAULT NULL COMMENT '列備注', ? `column_order` int(11) DEFAULT NULL COMMENT '列排序', ? `custom_comment` varchar(255) DEFAULT NULL COMMENT '自定義備注', ? `del_flag` int(11) DEFAULT NULL COMMENT '是否刪除:0未刪除,1刪除', ? `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間', ? `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間', ? PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
對create_time字段和update_time字段的語法邏輯解說
主要看create_time字段和update_time字段。
DEFAULT CURRENT_TIMESTAMP表示insert的時候設(shè)置默認值ON UPDATE CURRENT_TIMESTAMP表示一條數(shù)據(jù)更新的時候,本條數(shù)據(jù)的該字段設(shè)置為當前時間
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql查找刪除表中重復數(shù)據(jù)方法總結(jié)
在本篇文章中小編給大家整理了關(guān)于mysql查找刪除表中重復數(shù)據(jù)方法和相關(guān)知識點,需要的朋友們參考下。2019-05-05
mysql分頁時offset過大的Sql優(yōu)化經(jīng)驗分享
mysql分頁是我們在開發(fā)經(jīng)常遇到的一個功能,最近在實現(xiàn)該功能的時候遇到一個問題,所以這篇文章主要給大家介紹了關(guān)于mysql分頁時offset過大的Sql優(yōu)化經(jīng)驗,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起看看吧。2017-08-08
MySQL切分函數(shù)substring()的具體使用
這篇文章主要介紹了MySQL切分函數(shù)substring()的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
Navicat Premium操作MySQL數(shù)據(jù)庫(執(zhí)行sql語句)
這篇文章主要介紹了Navicat Premium操作MySQL數(shù)據(jù)庫(執(zhí)行sql語句),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
解決MySQL8.0報錯Client does not support auth
本文主要介紹了解決MySQL8.0報錯Client does not support authentication protocol requested by server...問題,文中通過代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-05-05

