[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";
相关推荐
唐青枫15 分钟前
别让 NULL 拖垮结果:MySQL COALESCE 空值兜底实战详解
sql·mysql
wand codemonkey1 小时前
SpringbootWeb【入门】+MySQL【安装】+【DataDrip安装 】+【连接MySQL】
java·mysql·mybatis
廿一夏9 小时前
MySql存储引擎与索引
数据库·sql·mysql
lzhdim11 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
敲个大西瓜12 小时前
Java项目常用数据归档方式
mysql
kyriewen14 小时前
面试官让我查各部门工资最高的员工,我用AI三秒写出窗口函数,他愣了
后端·mysql·面试
小码工作室14 小时前
使用 HAVING 进行 MySQL 集合筛选
mysql
罗超驿14 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
小江的记录本15 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
木心术116 小时前
Windows系统下MySQL与AI工具集成方案:数据存储与调用实践
人工智能·windows·mysql