[2024-03-09 19:55:01] [42000][1067] Invalid default value for ‘create_time‘【报错】

这个错误可能是因为你的 MySQL 数据库版本不支持 CURRENT_TIMESTAMP 作为默认值。在一些早期版本中,MySQL 对 TIMESTAMP 类型字段的默认值设置有限制,只允许使用特定的常量值(如 0000-00-00 00:00:00CURRENT_TIMESTAMP())。如果你的 MySQL 版本太旧,则可能无法识别 CURRENT_TIMESTAMP

要解决这个问题,你可以尝试以下几种方法之一:

  1. 升级你的 MySQL 版本到 5.6.5 或更高版本,这些版本已经支持 CURRENT_TIMESTAMP 作为 TIMESTAMP 字段的默认值。
  2. create_time 的默认值设置为 0000-00-00 00:00:00,这是 MySQL 中 TIMESTAMP 类型的默认值之一,但是这样会使得这个字段无法记录创建时间。(这样不能自动添加创新日期)

3.设置 sql_mode(如果这个不能解决,只能升级了)

复制代码
set sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
相关推荐
Meta3931 分钟前
Java八股文之Spring Boot 中解决 MySQL 和 Elasticsearch (ES) 的数据一致性问题
java·spring boot·mysql
索西引擎1 小时前
基于 Docker 容器化的 MySQL 数据库部署与访问控制机制研究
数据库·mysql·docker
小白说大模型2 小时前
AI 提示词专栏:Zero-Shot 与 One-Shot Prompt 的差别与适用场景
大数据·数据库·人工智能·sql·深度学习·prompt
Sagittarius_A*2 小时前
【好靶场】SQL 注入-布尔盲注-2
sql·web安全·网络安全·sql注入
2301_800074212 小时前
MySQL部分语句
数据库·mysql
CodeStats2 小时前
MySQL与Oracle数据类型底层设计原理对比(下)
数据库·mysql·oracle
疯狂打码的少年2 小时前
【数据库技术】SQL高级查询(分组/排序/聚合函数)
java·数据库·笔记·sql
程序员黎剑3 小时前
MySQL-JOIN优化-NLJ与BNL的区别与实战
数据库·mysql
JMchen1233 小时前
【Android 性能优化实战 60 讲】03 Perfetto 现代分析利器:SQL 查询 Trace 数据,微秒级定位函数 CPU 耗时
android·sql·性能优化·实战·源码分析·perfetto·启动优化
JavaPub-rodert4 小时前
一个后台系统如何同时支持 MySQL、PostgreSQL、SQLite、SQL Server?从 ShiyuAdmin 的 GORM 多数据库适配说起
数据库·mysql·postgresql