阅读全文mysql 允许无效日期" /> okPress "Enter" to skip to content

mysql 允许无效日期

Last updated on 2020年2月12日

最近升级了MySQL8.0版本,发现部分查询报错

SQLSTATE[HY000]: General error: 1525 Incorrect DATETIME value: ''

很显然说是查询 datatime 格式的值不正确,查看下 sql_mode

SELECT @@GLOBAL.sql_mode; # 全局查询
SELECT @@SESSION.sql_mode; # 当前会话查询
# 我这里查询结果为空

好,去修改 /etc/my.cnf 然后重启MySQL

[mysqld]
# 没有就新加
sql_mode = ALLOW_INVALID_DATES 

注: SET SQL_MODE = 'ALLOW_INVALID_DATES'; 只能临时生效,重启后失效

最后强烈建议去修复代码中的 sql 语句,保证MySQL在严格模式下运行,减少出错几率!
附一张常见 sql_mode 的选项配置示例图:

//img2018.cnblogs.com/blog/849009/201909/849009-20190921152345908-551225688.png插图

官方文档: https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_allow_invalid_dates

缺陷的背后(三)—mysql之sql_mode为空的陷阱

网络参考

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code

提示

想看《方方武汉日记》的请到->【小丑人分享】查看所有完整文章