Mysql 生产数据报错: [Err] 1292 – Incorrect date value: ‘0’ for column ‘v_birthday’ at row 1

大家好, 我是上白书妖!

知识源于积累,登峰造极源于自律

今天我根据以前所以学的一些文献,笔记等资料整理出一些小知识点,有不当之处,欢迎各位斧正

运行mysql产生数据sql语句报错,网上总结两种解决方式
报错日志:
1
[Err] 1292 - Incorrect date value: '0' for column 'v_birthday' at row 1

截图图示:

在这里插入图片描述

我认为原因是:
1
2
3
4
5
6
7
8
9
10
11
SQL MODE对日期和时间行为的影响,某些版本数据库
(5.0.41-community-nt)插入 date 类型的字段数据是 "" 空时,会报这种错误
在MaxDB中,TIMESTAMP的概念非常不同。
随着MySQL AB致力于在MaxDB和“普通” MySQL之间实现更大的集成,
您现在可以在MAXDB模式下运行MySQL。在这种模式下,
所有TIMESTAMP字段都被视为普通的DATETIME字段。
让我们运行与之前运行的命令相同的命令,
但是这次是在MAXDB模式下运行。
仅针对我们正在运行的特定连接,
我们将更改为MAXDB模式(及其后的后续模式)。
退出并重新连接将恢复所有默认设置。

参考文章:
https://www.databasejournal.com/features/mysql/article.php/10897_3577131_2/Date-and-Time-in-MySQL-5.htm

https://blog.csdn.net/testcs_dn/article/details/39670421

解决方式1:
1
SET SESSION sql_mode=NO_ZERO_IN_DATE;

图示:
在这里插入图片描述

解决方式2:

https://blog.csdn.net/testcs_dn/article/details/39670421

上白书妖结束寄语:

知识源于积累,登峰造极源于自律