如何解决MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题
这篇文章主要介绍如何解决MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
存数据时发现,保存的时候报错(Error 1292: Incorrect datetime value: '0000-00-00' for column 'deleted_at' at row 1)
,之后就搜索了下原因,是因为MySQL
存日期时不允许出现这种格式导致的。下面记录下解决问题的经过:
先是根据Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 这篇博客操作的。但是发现。我电脑上没有文章中提到的cnf
文件。于是就在网上搜索该文件。粘贴了my.cnf这个内容到/etc/my.cnf
里边。
可是等我将
sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
粘贴到文件所在位置时,还是不成功。MySQL直接启动不起来。后来在命令行中设置sql_mode
的时候看到了错误提示:
mysql> SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'意思就是不让设置NO_AUTO_CREATE_USER
呗。那就不设置呀。之后再my.cnf
文件中的sql-mode
一行去掉改值就成功了。
MySQL版本:8.0.13
以上是“如何解决MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341