ERROR 1067 (42000): Invalid default value for 'created_time'【转】
执行表增加字段语句报错
mysql> ALTER TABLE ha_question ADD COLUMN question_number INT;
ERROR (): Invalid default value for 'created_time'
查看created_time字段
mysql> desc ha_question;
+-----------------------+------------------+------+-----+---------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+---------------------+-----------------------------+
| created_time | timestamp | NO | | 0000-00-00 00:00:00 | |
+-----------------------+------------------+------+-----+---------------------+-----------------------------+
创建都不行,所以猜测应该是系统中某个参数的设置问题。看来关于date和time相关的参数没有什么异常。
联想到限制能限制的sql的只有sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0.
查看sql_mode
mysql> show variables like 'sql_mode';
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| 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 |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
row in set (0.24 sec)
NO_ZERO_DATE
在严格模式,不要将 '0000-00-00'做为合法日期。你仍然可以用IGNORE选项插入零日期。在非严格模式,可以接受该日期,但会生成警告。
NO_ZERO_DATE:若设置该值,MySQL数据库不允许插入零日期,插入零日期会抛出错误而不是警告。
NO_ZERO_IN_DATE
在严格模式,不接受月或日部分为0的日期。如果使用IGNORE选项,我们为类似的日期插入'0000-00-00'。在非严格模式,可以接受该日期,但会生成警告。
处理的办法:
1, 修改sql_mode,去掉NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数
2, 修改表的default值,去掉default也可以。
mysql> alter table ha_question modify created_time timestamp not null;
Query OK, rows affected (0.07 sec)
Records: Duplicates: Warnings: mysql> ALTER TABLE ha_question ADD COLUMN question_number INT;
Query OK, rows affected (28.07 sec)
Records: Duplicates: Warnings:
这个出现的原因应该是建表前sql_mode没有这两个值,建表后修改的sql_mode。
个人感觉修改表的风险小一点,以免修改sql mode影响其他表的使用。
修改前的
mysql> desc ha_question;
+-----------------------+------------------+------+-----+---------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+---------------------+-----------------------------+
| created_time | timestamp | NO | | -- :: | |
+-----------------------+------------------+------+-----+---------------------+-----------------------------+
修改后的
mysql> desc ha_question;
+-----------------------+------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+------------------+------+-----+-------------------+-----------------------------+
| created_time | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-----------------------+------------------+------+-----+-------------------+-----------------------------+
转自
ERROR 1067 (42000): Invalid default value for 'currentTime' - CSDN博客 https://blog.csdn.net/xionglang7/article/details/44499307
MySQL:ERROR 1067 (42000): Invalid default value for 'end_time' - 禁忌夜色153 - 博客园 https://www.cnblogs.com/jinjiyese153/p/7300510.html
ERROR 1067 (42000): Invalid default value for 'created_time'【转】的更多相关文章
- mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP
1. ERROR 1067 (42000): Invalid default value for 'FAILD_TIME' (对TIMESTAMP 类型的子段如果不设置缺省值或没有标志not n ...
- MySQL错误:ERROR 1067 (42000): Invalid default value for 'timestamp_field'
数据库报错 ERROR 1067 (42000): Invalid default value for 'start_time' 是因为数据库的配置有问题: 可以看到 NO_ZERO_IN_DA ...
- MySQL:ERROR 1067 (42000): Invalid default value for 'end_time'
© 版权声明:本文为博主原创文章,转载请注明出处 1.错误截图 2.错误分析 表中的第一个TIMESTAMP列(如果未声明为NULL或显示DEFAULT或ON UPDATE子句)将自动分配DEFAUL ...
- 解决:ERROR 1067 (42000): Invalid default value for 'login_time'
如图操作数据表的时候出现上图的错误 问题的原因就是出在timestamp的默认值不正确,针对以上问题的解决方案是:修改默认值为当前值. sql语言代码: Alter table user modify ...
- ERROR 1067 (42000): Invalid default value for 'time'
修改sql_mode,去掉NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数 查看 root@:: [hmda]> show variables like 'sql_mode'; ...
- MySQL5.7导入数据报错ERROR 1067 (42000) at line 1015: Invalid default value for 'service_time'
解决办法: 修改my.cnf,[mysqld] 下面添加sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_U ...
- MySQL 5.7 Invalid default value for 'CREATE_TIME'报错的解决方法
出处:http://blog.itpub.net/15498/viewspace-2136006/ 由于数据库的升级,今天在执行从MySQL 5.6导出来的SQL文件时报错: mysql> so ...
- 【数据库】Invalid default value for 'create_date' timestamp field
问题 最近遇到一个这样的问题,新建数据库表的时候 提示 错误如下 Invalid default value for 'created_time' timestamp field 语句如下 `crea ...
- mysql error 1067 invalid default timestamp
问题 MySQL 5.7版本,在创建数据表时,使用以下语句定义一个字段: `update_time` timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE ...
随机推荐
- 自学Python1.8-python input/print用法 格式化输出
自学Python之路 自学Python1.8-python input/print用法 格式化输出 1.input函数 Python3.x 中 input() 函数接受一个标准输入数据,返回为 str ...
- linux一次性解压多个.gz或者.tar.gz文件
对于解压多个.gz文件的,用此命令: for gz in *.gz; do gunzip $gz; done 对于解压多个.tar.gz文件的,用下面命令: for tar in *.tar.gz; ...
- [hgoi#2019/3/3]赛后总结
T1--最长公共前缀(lcp) 定义两个字符串S,T 的最长公共前缀lcp(S,T)为最长的字符串R,满足R 既是S 的前缀又是T 的前缀. 给定一个字符串S,下标从1 开始,每次询问给出四个正整数a ...
- XML解析(DOM、ElementTree)及转换为JSON
xml.dom篇 DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 S ...
- C++类间相互引用
两个类相互包含引用的问题 不管是下文中提到的例子,还是任何情况,使得class A的头文件需要include class B的头文件,class B的也要引用A的头文件,这种状况下,貌似会出现有一个类 ...
- MyEclipse新建工作空间后的配置详细步骤
1. General --> Workspace --> UTF-8 2. General --> Editors -->File Associations --> J ...
- mac subLime3 JSON 格式化插件安装
1.首先找到路径:/Users/hou***in/Library/Application' 'Support/Sublime' 'Text' '3/Packages/ 2.git clone http ...
- Cleanup failed to process the following paths错误的解决
在使用TortoiseSVN工具执行Cleanup操作时经常出现Cleanup failed to process the following paths的错误,具体如下图: 网上搜索了一下,找到了解 ...
- jq实现对checkbox的常用操作
场景1:点击checkbox 其他checkbox被选中的都取消 (意思是只能选中一个checkbox) function fn(obj,event){ //obj就是这个this这个对象 ,eve ...
- webuploader
https://www.cnblogs.com/study-fanzeng/p/8930939.html http://fex.baidu.com/webuploader/doc/index.html ...