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存日期时不容许出现这种格式致使的。下面记录下解决问题的通过:html

先是根据Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 这篇博客操做的。可是发现。我电脑上没有文章中提到的cnf文件。因而就在网上搜索该文件。粘贴了my.cnf这个内容到/etc/my.cnf里边。
但是等我将mysql

sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

粘贴到文件所在位置时,仍是不成功。MySQL直接启动不起来。后来在命令行中设置sql_mode的时候看到了错误提示: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';
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
图片描述学习

相关文章
相关标签/搜索