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
里边。
可是等我将
粘贴到文件所在位置时,还是不成功。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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。