通過navicat客戶端修改datetime默認值時,遇到了問題。
數據庫表字段類型datetime,原來默認為NULL,當通過界面將默認值設置為當前時間時,提示“1067-Invalid default value for 'CREATE_TM'”,而建表的時候,則不會出現這個問題,比如建表語句:
CREATE TABLE `app_info1` ( `id` bigint(21) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID', `app_id` varchar(30) DEFAULT NULL COMMENT '應用編碼', `app_name` varchar(30) DEFAULT NULL COMMENT '應用名稱', `package_name` varchar(100) DEFAULT NULL COMMENT '包名', `version` int(11) DEFAULT NULL COMMENT '版本號', `version_name` varchar(20) DEFAULT NULL COMMENT '版本名', `icon_url` varchar(512) DEFAULT NULL COMMENT 'Icon地址', `download_url` varchar(512) DEFAULT NULL COMMENT '下載地址', `summary` varchar(512) DEFAULT NULL COMMENT '摘要', `desc` varchar(512) DEFAULT NULL COMMENT '描述信息', `app_status` int(4) DEFAULT '0' COMMENT '狀態 0:可用,1:刪除', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', `create_user` varchar(30) DEFAULT NULL COMMENT '創建人', `modify_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間', `modify_user` varchar(30) DEFAULT NULL COMMENT '修改人', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
然后我試了一下直接對字段通過腳本進行修改,也是OK的,如下:
alter table ts_role MODIFY column create_tm datetime default CURRENT_TIMESTAMP COMMENT '創建時間'
當然,我安裝的Mysql是5.6以上的,其他版本的沒有嘗試過。
以上這篇mysql中datetime類型設置默認值方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com