所在位置:首页 → 数据库 → Procedure execution failed1292 - Incorrect date value: '0000-00-00' for column 'birthday' at row 1

Procedure execution failed1292 - Incorrect date value: '0000-00-00' for column 'birthday' at row 1

发布: 更新时间:2022-11-02 17:23:38

问题背景

使用navicat添加过程存储函数时,代码如下:

报错:

原因分析

这是因为当前的MySQL不支持datetime为0的情况。

解决方法

方法一:修改sql_mode

SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。

set @@global.sql_mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
set @@sql_mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

方法二:日期不要用0值。

执行成功

标签:, ,
文章排行