通過navicat客戶端修改datetime默認值時,遇到了問題。
數(shù)據(jù)庫表字段類型datetime,原來默認為NULL,當通過界面將默認值設(shè)置為當前時間時,提示“1067-Invalid default value for 'CREATE_TM'”,而建表的時候,則不會出現(xiàn)這個問題,比如建表語句:
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 '版本號',
`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)建時間',
`create_user` varchar(30) DEFAULT NULL COMMENT '創(chuàng)建人',
`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 '創(chuàng)建時間'
當然,我安裝的Mysql是5.6以上的,其他版本的沒有嘗試過。
以上這篇mysql中datetime類型設(shè)置默認值方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- mysql查詢的時候給字段賦默認值操作
- 詳解Mysql數(shù)據(jù)庫date, datetime類型設(shè)置0000-00-00默認值(default)報錯問題
- MySQL5.7中的sql_mode默認值帶來的坑及解決方法
- MySQL命令行中給表添加一個字段(字段名、是否為空、默認值)
- Mysql select語句設(shè)置默認值的方法
- 解析MySQL設(shè)置當前時間為默認值的方法
- MySQL表字段設(shè)置默認值(圖文教程及注意細節(jié))
- Mysql 5.6 "隱式轉(zhuǎn)換"導致的索引失效和數(shù)據(jù)不準確的問題
- 解析MySQL隱式轉(zhuǎn)換問題
- MySQL的隱式類型轉(zhuǎn)換整理總結(jié)
- MySQL 如何處理隱式默認值