[Linux]mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP
MySQL的TIMESTAMP类型的默认值设置无效。
0 使用环境描述
Linux CentOS 7.8.2003
x86/64bit
MySQL: 5.7.24 (mysql --version / select version())
1 分析
ERROR 1067 (42000) at line 702: Invalid default value for 'CREATE_TIME' :对TIMESTAMP 类型的子段如果不设置缺省值或没有标志not null时候在创建表时会报这个错误
sql_mode中的NO_ZEROR_DATE导致的,在strict mode中不允许'0000-00-00'作为合法日期
2 解决过程
step0 查看sql_mode
mysql> show variables like 'sql_mode';
(或 select @@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 |
+---------------+----------------------------------------------------------------------------------------------------------------------------------
step1 重置mysql的sql_mode
思路: 将上面的【NO_ZERO_DATE】改为下面的 【ALLOW_INVALID_DATES】
- 方式1: my.cnf(永久性配置)
cmd: cd /etc/my.cnf
my.cnf: sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- 方式2: 临时性
退出当前会话后,又将自动恢复为NO_ZERO_DATE
set sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
step2 重启MySQL服务
务必重启,方能保证配置生效。
[root@xufeng ~]# service mysqld restart (或 systemctl restart mysqld[.service])
Redirecting to /bin/systemctl restart mysqld.service
3 参考文献
- CentOS 7下启动、关闭、重启、查看MySQL服务 - 博客园
- mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP - 博客园
- Mysql ERROR 1067: Invalid default value for 字段 - CSDN
[Linux]mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP的更多相关文章
- 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 ...
- ERROR 1067 (42000): Invalid default value for 'created_time'【转】
执行表增加字段语句报错 mysql> ALTER TABLE ha_question ADD COLUMN question_number INT; ERROR (): Invalid defa ...
- 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'; ...
- 【Mac系统】之Mysql数据库遇到修改数字密码的问题(SQL语法错误:ERROR 1064 (42000),密码策略等问题:ERROR 1819 (HY000))
安装完Mysql也进行了第一次初始化密码以及修改密码规则(请参考文章),但是我想后续再改密码,出现了下面几个问题: #SQL语句错误问题 ERROR 1064 (42000): You have an ...
- myeclipse中导入js报如下错误Syntax error on token "Invalid Regular Expression Options", no accurate correc
今天在使用bootstrap的时候引入的js文件出现错误Syntax error on token "Invalid Regular Expression Options", no ...
- mysql错误:Error Code: 1175. You are using safe update mode and you tried to update a table……
今天遇到一个mysql错误: Error Code: . You are using safe update mode and you tried to update a table withou ...
- mysql5.7下的timestampn Error : Invalid default value for 'timestamp'
表格创建是爆了个错 Error : Invalid default value for 'timestamp' 参考:http://www.jb51.net/article/71107.htm 这版本 ...
随机推荐
- Python使用双层列表推导式输出九九乘法表
print('\n'.join([' '.join(['%2d *%2d = %2d' % (col, row, col * row) for col in range(1, row + 1)]) f ...
- python 添加文件模板,默认添加作者时间等必要信息
1.模板设置 配置路径:Setting-Editor-File and Code Templates-Python-Script 2.示例输入 代码如下(示例): #!/usr/bin/env pyt ...
- C#使用JSON相关
一.Json字符串转换为Dictionary /// <summary> /// JSON字符串转为 Dictionary /// </summary> /// <typ ...
- ffmpeg安装教程
1 下载所需要的软件 mkdir /usr/local/soft cd /usr/local/soft wget https://www.ffmpeg.org/releases/ffmpeg-snap ...
- 面向对象ooDay8
精华笔记: 接口: 是一种数据类型(引用类型) 由interface定义 只能包含常量和抽象方法(所有数据默认都是常量,所有方法默认都是抽象的) 接口不能被实例化 接口是需要被实现/继承的,实现/派生 ...
- C++11:初始化列表
在老版本的C++中,我们可以比较方便得对结构体.数组等对象利用{}进行初始化,而类变量的初始化则取决于构造函数的形式,例如: struct A { int a, b, c; }; class Foo ...
- MapReduce实践
1. 词频统计任务要求 首先,在Linux系统本地创建两个文件,即文件wordfile1.txt和wordfile2.txt.在实际应用中,这两个文件可能会非常大,会被分布存储到多个节点上.但是,为了 ...
- NX二次开发获取当前DLL路径函数
string GetPath();//输出程序路径 string YiNingToolPath(string DLLDir); //分割程序路径获取工具目录 HMODULE GetSelfModule ...
- 适用于 Linux 的 Windows 子系统使用 Visual Studio Code
在WSL中使用VS Code,先在Windows中安装vscode,再通过功能扩展安装Vscode for wsl. VSCode 有system和user两个版本,默认下载链接为user版本.以下内 ...
- Unity打Android包报错总结 长期更新
报错1 Failed to compile resources with the following parameters: -bootclasspath "E:\software\And ...