mysql 修复插入零日期报错

文章目录

问题

数据插入mysql时报错

部分关键内容如下

bash 复制代码
Incorrect datetime value: '0000-00-00' for column 'createdAt' at row 1

解决

原因

从MySQL 5.7.5开始,默认情况下不允许插入零日期或零时间值到DATETIME或 TIMESTAMP列。

实际是因为SQL模式包含NO_ZERO_DATE,禁止零日期

处置

  1. 查看mysql模式
bash 复制代码
SELECT @@GLOBAL.sql_mode;
+-----------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode                                                                                                     |
+-----------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)
  1. 修改模式
bash 复制代码
SET GLOBAL sql_mode = REPLACE(@@GLOBAL.sql_mode, 'NO_ZERO_DATE', '');

修改完毕后即可插入零日期,然后由建表语句时的设置插入当前时间等等。

reference

相关推荐
GlobalSign数字证书1 分钟前
中小企业的 SSL/TLS 证书管理,有更轻量的方案
数据库·网络协议·ssl
梓䈑5 分钟前
【MySQL】库的操作(数据库的创建、查看、修改 和 备份)
数据库·mysql
yuzhiboyouye22 分钟前
原生 SQL 常用核心语句基础语法
数据库·sql·oracle
我是一颗柠檬23 分钟前
【Redis】事务与Lua脚本Day7(2026年)
数据库·redis·后端·lua·database
流星白龙26 分钟前
【MySQL高阶】14.MySQL存储结构
android·数据库·mysql
流星白龙27 分钟前
【MySQL高阶】15.MySQL存储结构,页结构
android·mysql·adb
一只fish27 分钟前
Oracle官方文档翻译《Database Concepts 26ai》第18章-进程架构
数据库·oracle
流星白龙1 小时前
【MySQL高阶】17.InnoDB 内存结构
数据库·mysql·adb
刘欣的博客1 小时前
LiteNetLib WinForm Demo
数据库·microsoft·c#
Lyyaoo.1 小时前
【MySQL】索引
数据库·mysql