[Linux]mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP
2024-10-21 19:46:33
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
最新文章
- [转]caffe的配置过程
- html标签搜索引擎友好度总结
- Android开发之bug-No Activity found to handle Intent
- A Knight's Journey
- Ubuntu 中使用 谷歌日历
- coconHashMap实现原理分析
- Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom(转)
- Java EE (4) -- Java EE 6 Java Persistence API Developer Certified Expert(1z0-898)
- JAVA Socket编程(一)之UDP通信
- vue 自定义指令directive
- 自定义支持多行显示的RadioGroup
- Python初学者必看(1)
- 【SpringBoot笔记】SpringBoot如何正确关闭应用
- Mybatis框架(未完待续)
- windows上编译boost库
- git之摘抄
- [LeetCode&;Python] Problem 653. Two Sum IV - Input is a BST
- Firedac 数据连接池的应用
- MATLAB GUI图片添加背景
- SpringBoot_Mybatis_Maven_BootStrap