mysql中Invalid default value for 'stime'问题
2019独角兽企业重金招聘Python工程师标准>>>
今天写数据库脚本,创建数据库时,有一个字段是datetime类型的,想要设置默认时间为当前时间,于是有了如下代码
`registerDate` datetime NOT NULL DEFAULT NOW() COMMENT '注册时间'
执行之后报错 Error Code: 1067. Invalid default value for 'registerDate'
PS:在mysql 5.6中,这种写法OK,之前的版本不支持这样的写法。
当然mysql一般在设置时间的时候也常用时间戳。timestamp类型
再增一案例
在执行mysql数据库时报错
CREATE TABLE `advert_schedule_time` (`advert_id` int(11) NOT NULL DEFAULT '0' COMMENT '广告id',`stime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '开始时间',`etime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '结束时间',`times` int(11) NOT NULL DEFAULT '0' COMMENT '投放次数',UNIQUE KEY `adverttime` (`advert_id`,`stime`,`etime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '广告时间排期表';
首先用下面的命令看下sql_mode
show variables like 'sql_mode';
如果查询的结果如下:
ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
如果结果中含有NO_ZERO_IN_DATE
, NO_ZERO_DATE
则执行下面的命令:
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
转载于:https://my.oschina.net/Alexmyj/blog/1809650
mysql中Invalid default value for 'stime'问题相关推荐
- MySQL中Invalid default value错误解决方法
报错: [SQL]CREATE TABLE `user_record` (`REPORT_ID` int(11) NOT NULL AUTO_INCREMENT,`MLS_USER_ID` int(1 ...
- created at mysql类型_mysql中Invalid default value for 'created_at'问题汗血宝马
环境 mac + mysql 问题 在创建表的时候遇到了Invalid default value for 'created_at'的错误,不知道什么原因造成的. CREATE TABLE `test ...
- MySQL中的默认值处理
默认值处理 在MySQL中可以使用default为字段设定一个默认值,如果在插入数据是并未指定该列的值,那么MySQL会将默认值添加到该列中. 创建表时指定列的默认值: 例 创建 emp3 表,该表 ...
- 中去掉外键_【Java笔记】035天,MySQL中的增删改查
学习Java的第35天. 今天天除了学习MySQL中的各种约束,MySQL中DML的操作,还有MySQL查询语句ds-- MySQLdz中d的约束有: • 非空约束(not null) • 唯一性约束 ...
- mysql为datetime类型的字段设置默认值current_timestamp,引发 Invalid default value for 错误...
[起因] 在本地数据库执行测试平台数据库结构文件data_struct.sql,执行建表语句类似如下: CREATE TABLE `demo` (`id` int(10) unsigned NOT N ...
- Mysql ERROR 1067: Invalid default value for ‘auth_time‘
前言 myslq 5.7.31 错误 shell> mysql -uroot -p****** mydb < /root/mydb_backup.sql mysql: [Warning] ...
- mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP
原文:mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP 1. ERROR 1067 (42000): Invalid ...
- mysql 1067 invalid_mysql error 1067 invalid default timestamp
问题 MySQL 5.7版本,在创建数据表时,使用以下语句定义一个字段: `update_time` timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE ...
- mysql报错无效默认值1067_Mysql 报错:#1067 - Invalid default value for 'update_time
由于 字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00' 即:`UPDATE_TIME` timestamp NOT NULL DEF ...
最新文章
- [译] 写给前端开发者的 GraphQL 指南
- java server模式 设置_JVM client模式和Server模式的区别
- When we use PdfStamper to merge fields.
- 集合及其常见操作,创建,增加,删除,查找
- 计算机原理 ---- 程序之下
- 蓦然认知戴帅湘:做新一代决策引擎,比DuerOs走得垂直纵深
- 从XKCD网站下载自动所有漫画图片---python实现
- php调试代码时var_dump( )打印中文字符时出现乱码解决方案
- 《C++ Primer Plus》学习笔记0
- EAI_BOT越登智能车
- 冯诺依曼体系各硬件工作原理解析
- (codeforces)D. Cloud of Hashtags
- 【如何快速的开发一个简单的iOS直播app】(代码篇)
- 马云新零售再下一城:要把国外东西运进来,先将中国物流搬出去
- 碧蓝ajax,贝雷帽黑丝双马尾 令人迷恋的阿贾克斯舰娘
- 什么是程序?如何构成?
- 融合实体描述与路径信息的知识图谱表示学习模型
- EC20连接阿里云操作流程,AT_MQTT协议连接,详细
- 实战-Android系统默认关闭内核打印
- 5.各类学习资源通道汇总