通過(guò)navicat客戶端修改datetime默認(rèn)值時(shí),遇到了問(wèn)題。
數(shù)據(jù)庫(kù)表字段類型datetime,原來(lái)默認(rèn)為NULL,當(dāng)通過(guò)界面將默認(rèn)值設(shè)置為當(dāng)前時(shí)間時(shí),提示“1067-Invalid default value for 'CREATE_TM'”,而建表的時(shí)候,則不會(huì)出現(xiàn)這個(gè)問(wèn)題,比如建表語(yǔ)句:
CREATE TABLE `app_info1` ( `id` bigint(21) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID', `app_id` varchar(30) DEFAULT NULL COMMENT '應(yīng)用編碼', `app_name` varchar(30) DEFAULT NULL COMMENT '應(yīng)用名稱', `package_name` varchar(100) DEFAULT NULL COMMENT '包名', `version` int(11) DEFAULT NULL COMMENT '版本號(hào)', `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 '狀態(tài) 0:可用,1:刪除', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間', `create_user` varchar(30) DEFAULT NULL COMMENT '創(chuàng)建人', `modify_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改時(shí)間', `modify_user` varchar(30) DEFAULT NULL COMMENT '修改人', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
然后我試了一下直接對(duì)字段通過(guò)腳本進(jìn)行修改,也是OK的,如下:
alter table ts_role MODIFY column create_tm datetime default CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間'
當(dāng)然,我安裝的Mysql是5.6以上的,其他版本的沒(méi)有嘗試過(guò)。
以上這篇mysql中datetime類型設(shè)置默認(rèn)值方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
標(biāo)簽:安康 平頂山 四川 濮陽(yáng) 安徽 那曲 山南 浙江
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql中datetime類型設(shè)置默認(rèn)值方法》,本文關(guān)鍵詞 mysql,中,datetime,類型,設(shè)置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。