通过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类型设置默认值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 如何为MySQL Datetime列设置默认值? 在SQL Server中为。MySQL的等效功能是什么?如果这是一个因素,我正在使用MySQL5.x。 问题答案: 重要编辑: 自 MySQL 5.6.5起 ,现在可以使用DATETIME字段实现此目的,请看下面的另一篇文章 … 以前的版本无法在DATETIME做到这一点… 但是您可以使用TIMESTAMP来做到这一点: 注意:如果您定
问题内容: 我正在运行MySql Server 5.7.11,这句话: 是 不是 工作。给出错误: 但是以下内容: 正常工作 。 DATE的情况相同。 作为 附带说明 ,它在MySQL文档中有所提及: DATE类型用于具有日期部分但没有时间部分的值。MySQL检索并以’YYYY-MM-DD’格式显示DATE值。支持的范围是“ 1000-01-01”至“ 9999-12-31”。 即使他们也说: 无
问题内容: CREATE TABLE IF NOT EXISTS ( int(30) NOT NULL, text NOT NULL, text NOT NULL, text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 这里的“ te”表由4个字段组成,分别是id,名称,地址,Aboutus,Aboutus是可选的,这意味着我如何通过phpmy
本文向大家介绍如何设置MySQL默认值NONE?,包括了如何设置MySQL默认值NONE?的使用技巧和注意事项,需要的朋友参考一下 要在MySQL中设置默认值,您需要使用DEFAULT关键字。让我们首先创建一个表- 我们为插入时未输入的值设置了DEFAULT以上。现在,让我们使用insert命令在表中插入一些记录。我们尚未在此处为某些行插入值。默认设置在那里- 使用select语句显示表中的所有记
本文向大家介绍详解Mysql数据库date, datetime类型设置0000-00-00默认值(default)报错问题,包括了详解Mysql数据库date, datetime类型设置0000-00-00默认值(default)报错问题的使用技巧和注意事项,需要的朋友参考一下 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Inval
现有的MySQL表有一个DateTime字段,该字段不为null,默认值设置为'0001-00-0000:00:00'。是否可以更改此表以移除DateTime字段的默认值?